{"log": null, "root": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy", "tests": [{"call": {"outcome": "passed", "duration": 0.009441750000007687}, "setup": {"outcome": "passed", "duration": 0.009401875000037307}, "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.00017804200001592108}}, {"call": {"outcome": "passed", "duration": 0.00030104200004643644}, "setup": {"outcome": "passed", "duration": 0.00023679200000970013}, "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": 9.02079999605121e-05}}, {"call": {"outcome": "passed", "duration": 0.00023145799997337235}, "setup": {"outcome": "passed", "duration": 0.00017962499998702697}, "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": 8.23329999661837e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.015382416000022658, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_base_routing_client.py\", line 123, in test_downloading_waveforms\n    mock_instance.get_waveforms_bulk.return_value = obspy.read()\n                                                    ^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00018529199996919488}, "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.0004898750000279506}}, {"call": {"outcome": "passed", "duration": 0.035000417000048856}, "setup": {"outcome": "passed", "duration": 0.0005017499999553365}, "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.00023145799997337235}}, {"call": {"outcome": "passed", "duration": 0.010124791000009736}, "setup": {"outcome": "passed", "duration": 0.00034599999997908526}, "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.0007423749999588836}}, {"call": {"outcome": "passed", "duration": 0.011166666999997688}, "setup": {"outcome": "passed", "duration": 0.11395391700000346}, "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.0002164590000006683}}, {"call": {"outcome": "passed", "duration": 0.0006663749999802349}, "setup": {"outcome": "passed", "duration": 0.0003189590000260978}, "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.00011000000000649379}}, {"call": {"outcome": "passed", "duration": 0.0010665830000107235}, "setup": {"outcome": "passed", "duration": 0.00045533299999078736}, "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.000613041000008252}}, {"call": {"outcome": "passed", "duration": 0.09657358299995167}, "setup": {"outcome": "passed", "duration": 0.000798916000007921}, "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.0005042079999952875}}, {"call": {"outcome": "passed", "duration": 0.00021004199999197226}, "setup": {"outcome": "passed", "duration": 0.0003240000000346299}, "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": 9.854200004610902e-05}}, {"call": {"outcome": "passed", "duration": 0.017743542000005164}, "setup": {"outcome": "passed", "duration": 0.00030016700003443475}, "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.00015050000001792796}}, {"call": {"outcome": "passed", "duration": 0.0088997919999656}, "setup": {"outcome": "passed", "duration": 0.0009430000000065775}, "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.0005044170000019221}}, {"call": {"outcome": "passed", "duration": 0.0049582080000050155}, "setup": {"outcome": "passed", "duration": 0.0006914169999845399}, "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.00015212499999961437}}, {"call": {"outcome": "passed", "duration": 0.0008254999999621759}, "setup": {"outcome": "passed", "duration": 0.00041499999997540726}, "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.00011983299998519215}}, {"call": {"outcome": "passed", "duration": 0.002375124999957734}, "setup": {"outcome": "passed", "duration": 0.000895208000031289}, "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.00013320799996563437}}, {"call": {"outcome": "passed", "duration": 0.020050125000011576}, "setup": {"outcome": "passed", "duration": 0.0012970839999866257}, "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.00043179200002896323}}, {"call": {"outcome": "passed", "duration": 0.0005106249999471402}, "setup": {"outcome": "passed", "duration": 0.00024716699999771663}, "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": 9.91660000408956e-05}}, {"call": {"outcome": "passed", "duration": 0.0003490419999820915}, "setup": {"outcome": "passed", "duration": 0.00019224999999778447}, "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.00020687500000349246}}, {"call": {"outcome": "passed", "duration": 0.0008481660000256852}, "setup": {"outcome": "passed", "duration": 0.0002924579999898924}, "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.00012483299997256836}}, {"call": {"outcome": "passed", "duration": 0.0005391669999994519}, "setup": {"outcome": "passed", "duration": 0.00020266599995011347}, "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.000608958000043458}}, {"call": {"outcome": "passed", "duration": 0.0004791249999698266}, "setup": {"outcome": "passed", "duration": 0.0003177080000114074}, "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.00018633400003409406}}, {"call": {"outcome": "passed", "duration": 0.00035241700004462473}, "setup": {"outcome": "passed", "duration": 0.00021808300004977355}, "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.00039516699996511306}}, {"call": {"outcome": "passed", "duration": 0.00046049999997421764}, "setup": {"outcome": "passed", "duration": 0.0004420410000420816}, "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.0007543749999854299}}, {"call": {"outcome": "passed", "duration": 0.0004895829999895795}, "setup": {"outcome": "passed", "duration": 0.00027962500001876833}, "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": 9.845799996810456e-05}}, {"call": {"outcome": "passed", "duration": 0.0013201250000065556}, "setup": {"outcome": "passed", "duration": 0.0006679159999976036}, "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.0001555420000158847}}, {"call": {"outcome": "passed", "duration": 0.012268874999961099}, "setup": {"outcome": "passed", "duration": 0.0009678330000042479}, "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.00024337500002502566}}, {"call": {"outcome": "passed", "duration": 0.012040249999984098}, "setup": {"outcome": "passed", "duration": 0.00021829199999956472}, "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.00013137500002358138}}, {"call": {"outcome": "passed", "duration": 0.019883958000036728}, "setup": {"outcome": "passed", "duration": 0.00024295800000118106}, "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.0001230830000054084}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.08380237499994792, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/unittest/mock.py\", line 1396, in patched\n    return func(*newargs, **newkeywargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_client.py\", line 1792, in test_no_gzip\n    read().write(bio, 'MSEED')\n    ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002601660000323136}, "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.001556332999996357}}, {"call": {"outcome": "passed", "duration": 0.01749712499997713}, "setup": {"outcome": "passed", "duration": 0.0004761249999774009}, "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.00022908400001142581}}, {"call": {"outcome": "passed", "duration": 0.00017233399995575382}, "setup": {"outcome": "passed", "duration": 0.00039445799995974085}, "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.00010108300000410964}}, {"call": {"outcome": "passed", "duration": 0.0001341249999882166}, "setup": {"outcome": "passed", "duration": 0.0003115830000410824}, "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": 8.200000002034358e-05}}, {"call": {"outcome": "passed", "duration": 0.004485459000022729}, "setup": {"outcome": "passed", "duration": 0.0002119160000120246}, "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.00011895799997319045}}, {"call": {"outcome": "passed", "duration": 0.0006099590000303579}, "setup": {"outcome": "passed", "duration": 0.0002220839999722557}, "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.00010070799999084556}}, {"call": {"outcome": "passed", "duration": 0.0013748749999535903}, "setup": {"outcome": "passed", "duration": 0.00023712499995554026}, "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.00010458299999527298}}, {"call": {"outcome": "passed", "duration": 0.0006959159999837539}, "setup": {"outcome": "passed", "duration": 0.00023704200003749065}, "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": 9.724999995341932e-05}}, {"call": {"outcome": "passed", "duration": 0.0050355000000195105}, "setup": {"outcome": "passed", "duration": 0.00019849999995358303}, "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.00023812500000985892}}, {"call": {"outcome": "passed", "duration": 0.003404124999974556}, "setup": {"outcome": "passed", "duration": 0.00037524999999050124}, "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.00013741600002958876}}, {"call": {"outcome": "passed", "duration": 0.00016904199998180047}, "setup": {"outcome": "passed", "duration": 0.00020895799997333597}, "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": 8.36659999663425e-05}}, {"call": {"outcome": "passed", "duration": 0.0008324169999696096}, "setup": {"outcome": "passed", "duration": 0.00017283300002191027}, "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": 8.770900001309201e-05}}, {"call": {"outcome": "passed", "duration": 0.0007247500000175933}, "setup": {"outcome": "passed", "duration": 0.0003061250000087057}, "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": 9.275000002162415e-05}}, {"call": {"outcome": "passed", "duration": 0.004372749999959069}, "setup": {"outcome": "passed", "duration": 0.00018637499999840657}, "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.00014016700004049198}}, {"call": {"outcome": "passed", "duration": 0.000882833000048322}, "setup": {"outcome": "passed", "duration": 0.00022358400002531198}, "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.00011320900000555412}}, {"call": {"outcome": "passed", "duration": 0.000785916999973324}, "setup": {"outcome": "passed", "duration": 0.00021020799999860174}, "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": 9.500000004436515e-05}}, {"call": {"outcome": "passed", "duration": 0.00020845800003144177}, "setup": {"outcome": "passed", "duration": 0.00019091699999762568}, "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": 9.820799999715746e-05}}, {"call": {"outcome": "passed", "duration": 0.004599333000044226}, "setup": {"outcome": "passed", "duration": 0.000204749999966225}, "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.0001542499999800384}}, {"call": {"outcome": "passed", "duration": 0.00040458300003365366}, "setup": {"outcome": "passed", "duration": 0.0010960000000181935}, "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.0001161249999768188}}, {"call": {"outcome": "passed", "duration": 0.00016712500001858643}, "setup": {"outcome": "passed", "duration": 0.00019787500002621528}, "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.00038770800000520467}}, {"call": {"outcome": "passed", "duration": 0.0003879999999867323}, "setup": {"outcome": "passed", "duration": 0.0004959999999982756}, "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.00024412499999471038}}, {"call": {"outcome": "passed", "duration": 0.0002329170000052727}, "setup": {"outcome": "passed", "duration": 0.0006820419999939986}, "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.00010491600005479995}}, {"call": {"outcome": "passed", "duration": 0.00026591699997879914}, "setup": {"outcome": "passed", "duration": 0.00018049999999902866}, "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.00010058300000537201}}, {"call": {"outcome": "passed", "duration": 0.0073022500000092805}, "setup": {"outcome": "passed", "duration": 0.0006290000000035434}, "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.00011887499999829743}}, {"call": {"outcome": "passed", "duration": 0.002757416999997986}, "setup": {"outcome": "passed", "duration": 0.00021874999998772182}, "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.0001458749999869724}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011198749999721258, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 283, in test_inventory_parsing\n    inv = obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006621249999625434}, "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.00012429200000951823}}, {"call": {"outcome": "passed", "duration": 0.007483707999995204}, "setup": {"outcome": "passed", "duration": 0.0006933330000151727}, "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.00035795799999505107}}, {"call": {"outcome": "passed", "duration": 0.002019375000031687}, "setup": {"outcome": "passed", "duration": 0.0002660000000105356}, "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.00010441599999921891}}, {"call": {"outcome": "passed", "duration": 0.007443708999971932}, "setup": {"outcome": "passed", "duration": 0.00017866600001070765}, "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.0003555829999868365}}, {"call": {"outcome": "passed", "duration": 0.0015193330000329297}, "setup": {"outcome": "passed", "duration": 0.0002582079999911002}, "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.0005534169999918959}}, {"call": {"outcome": "passed", "duration": 0.0009183749999692736}, "setup": {"outcome": "passed", "duration": 0.00021729200000208948}, "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": 9.699999998247222e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.02662674999999126, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 560, in test_download_and_split_mseed\n    st = obspy.read(os.path.join(tmpdir, filename))\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00017391599999427854}, "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.0001474580000149217}}, {"call": {"outcome": "passed", "duration": 0.0018593749999809006}, "setup": {"outcome": "passed", "duration": 0.000882499999988795}, "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.00010200000002669185}}, {"call": {"outcome": "passed", "duration": 0.0005765000000224063}, "setup": {"outcome": "passed", "duration": 0.00021762500000477303}, "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": 9.029199998167314e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001341959000001225, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 960, in test_get_stationxml_contents\n    inv = obspy.read_inventory(testdata[\"AU.MEEK.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0001937079999834168}, "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.0001868749999971442}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004199792000008529, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 980, in test_fast_vs_slow_get_stationxml_contents\n    _get_stationxml_contents_slow(testdata[\"AU.MEEK.xml\"])\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/mass_downloader/utils.py\", line 423, in _get_stationxml_contents_slow\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028687500002888555}, "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.0002682920000438571}}, {"call": {"outcome": "passed", "duration": 0.00043570799999770315}, "setup": {"outcome": "passed", "duration": 0.0002554999999802021}, "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.00013429200004111408}}, {"call": {"outcome": "passed", "duration": 0.0008893330000319111}, "setup": {"outcome": "passed", "duration": 0.00033879099999012396}, "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.00012337499998693602}}, {"call": {"outcome": "passed", "duration": 0.0005166250000456785}, "setup": {"outcome": "passed", "duration": 0.000330500000018219}, "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": 9.441700001389108e-05}}, {"call": {"outcome": "passed", "duration": 0.0011648330000184615}, "setup": {"outcome": "passed", "duration": 0.0007526250000182699}, "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.00010808299998643633}}, {"call": {"outcome": "passed", "duration": 0.00035545800000136296}, "setup": {"outcome": "passed", "duration": 0.00019279200000710262}, "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": 8.262500000455475e-05}}, {"call": {"outcome": "passed", "duration": 0.0003835410000192496}, "setup": {"outcome": "passed", "duration": 0.00015675000003056994}, "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.0003614170000219019}}, {"call": {"outcome": "passed", "duration": 0.004177458000015122}, "setup": {"outcome": "passed", "duration": 0.00031554099996355944}, "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.00027562499997202394}}, {"call": {"outcome": "passed", "duration": 0.0011982500000158325}, "setup": {"outcome": "passed", "duration": 0.00023508399999627727}, "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": 9.391600002572886e-05}}, {"call": {"outcome": "passed", "duration": 0.002651624999998603}, "setup": {"outcome": "passed", "duration": 0.0005868750000104228}, "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.00010770800003001568}}, {"call": {"outcome": "passed", "duration": 0.003312875000005988}, "setup": {"outcome": "passed", "duration": 0.00019962499999337524}, "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.00010916700000507262}}, {"call": {"outcome": "passed", "duration": 0.012714125000002241}, "setup": {"outcome": "passed", "duration": 0.00019291699999257617}, "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.0001226659999815638}}, {"call": {"outcome": "passed", "duration": 0.009084874999985004}, "setup": {"outcome": "passed", "duration": 0.00021437499998455678}, "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.00011599999999134525}}, {"call": {"outcome": "passed", "duration": 0.0002865829999905145}, "setup": {"outcome": "passed", "duration": 0.0003916669999739497}, "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": 9.341700001641584e-05}}, {"call": {"outcome": "passed", "duration": 0.002561582999987877}, "setup": {"outcome": "passed", "duration": 0.0009785000000306354}, "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.00012820799997825816}}, {"call": {"outcome": "passed", "duration": 0.0002173330000232454}, "setup": {"outcome": "passed", "duration": 0.0005247909999752665}, "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.00014062499997180566}}, {"call": {"outcome": "passed", "duration": 0.004434083000035116}, "setup": {"outcome": "passed", "duration": 0.001189624999994976}, "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.0004975000000513319}}, {"call": {"outcome": "passed", "duration": 0.022117541000000074}, "setup": {"outcome": "passed", "duration": 0.0006266249999953288}, "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.00020775000001549415}}, {"call": {"outcome": "passed", "duration": 0.01224554100002706}, "setup": {"outcome": "passed", "duration": 0.0009228330000041751}, "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.0002694169999699625}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006169999999769971, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2184, in test_get_availability\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005681250000293403}, "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.00014041700001143909}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004182082999989234, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2193, in test_get_availability_with_multiple_channel_epochs\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005273749999901156}, "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.00019383299996889036}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016116670000201339, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2278, in test_excluding_networks_and_stations\n    obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008601659999953881}, "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.00012204199998677723}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005817499999807296, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2355, in test_excluding_networks_and_stations_with_an_inventory_object\n    full_inv = obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006838340000285825}, "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.00011670899999671747}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0032506670000316262, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2447, in test_parse_miniseed_filenames\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007312920000117629}, "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.0001972910000063166}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025534580000226015, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2491, in test_warning_when_location_prios_excludes_all_channels\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000608833000001141}, "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.0004229999999552092}}, {"call": {"outcome": "passed", "duration": 0.0011607090000325115}, "setup": {"outcome": "passed", "duration": 0.0002118750000477121}, "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.00010266700002148355}}, {"call": {"outcome": "passed", "duration": 0.10092274999999518}, "setup": {"outcome": "passed", "duration": 0.0004918330000123206}, "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.0003946249999557949}}, {"call": {"outcome": "passed", "duration": 0.02436016600000812}, "setup": {"outcome": "passed", "duration": 0.0003751670000156082}, "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.00012695800000983581}}, {"call": {"outcome": "passed", "duration": 1.2215899579999814}, "setup": {"outcome": "passed", "duration": 0.0002272500000231048}, "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.00019387499997947089}}, {"call": {"outcome": "passed", "duration": 0.0017915839999886884}, "setup": {"outcome": "passed", "duration": 0.001838207999981023}, "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.0004694159999871772}}, {"call": {"outcome": "passed", "duration": 0.003423666999992747}, "setup": {"outcome": "passed", "duration": 0.001003875000037624}, "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.0001418339999759155}}, {"call": {"outcome": "passed", "duration": 0.003295999999977539}, "setup": {"outcome": "passed", "duration": 0.00029729199997063915}, "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.000117040999953133}}, {"call": {"outcome": "passed", "duration": 0.0032655420000082813}, "setup": {"outcome": "passed", "duration": 0.00022800000004963294}, "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.00010895799999843803}}, {"call": {"outcome": "passed", "duration": 0.0043728329999908055}, "setup": {"outcome": "passed", "duration": 0.0005044170000019221}, "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.0002786250000212931}}, {"call": {"outcome": "passed", "duration": 0.0013099160000251686}, "setup": {"outcome": "passed", "duration": 0.0006130000000439395}, "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.0002511249999770371}}, {"call": {"outcome": "passed", "duration": 0.0022050000000035652}, "setup": {"outcome": "passed", "duration": 0.0005391660000100273}, "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.00025058299996771893}}, {"call": {"outcome": "passed", "duration": 0.009027791999983492}, "setup": {"outcome": "passed", "duration": 0.0005479999999806751}, "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.00018220900000187612}}, {"call": {"outcome": "passed", "duration": 0.0036001250000481377}, "setup": {"outcome": "passed", "duration": 0.0006900419999738006}, "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.00012933299996120695}}, {"call": {"outcome": "passed", "duration": 0.005750834000025407}, "setup": {"outcome": "passed", "duration": 0.000228165999999419}, "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.00021091700000397395}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.2950984160000303, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tests/test_sds.py\", line 127, in test_read_from_sds\n    st = client.get_waveforms(net, sta, loc, cha, t - 200, t + 200)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/sds.py\", line 171, in get_waveforms\n    st += read(full_path, format=self.format, starttime=starttime,\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005387909999967633}, "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.00016174999996110273}}, {"call": {"outcome": "passed", "duration": 1.4711805000000027}, "setup": {"outcome": "passed", "duration": 0.00020704100001012193}, "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.00024541700003055666}}, {"call": {"stderr": "Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/resource_tracker.py\", line 30, in <module>\n    _IGNORED_SIGNALS = (signal.SIGINT, signal.SIGTERM)\n                        ^^^^^^^^^^^^^\nAttributeError: module 'signal' has no attribute 'SIGINT'\n", "outcome": "passed", "duration": 0.810128667000015}, "setup": {"outcome": "passed", "duration": 0.0006398749999902975}, "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.0001392920000284903}}, {"call": {"outcome": "passed", "duration": 0.26452129199998353}, "setup": {"outcome": "passed", "duration": 0.000254833999974835}, "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.00013966699998491094}}, {"call": {"outcome": "passed", "duration": 0.23012420800000655}, "setup": {"outcome": "passed", "duration": 0.00044041700004981976}, "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.0005296669999665937}}, {"call": {"outcome": "passed", "duration": 0.011608375000037086}, "setup": {"outcome": "passed", "duration": 0.0002949579999835805}, "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.0003709169999979167}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0030781659999661315, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tests/test_tsindex.py\", line 61, in test_get_waveforms\n    expected_stream = read(\n                      ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.031096750000017437}, "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.00021029099997349476}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018729159999679723, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tests/test_tsindex.py\", line 115, in test_get_waveforms_bulk\n    read(\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010939580000126625}, "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.00020620800000870076}}, {"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": 399.0, "lineno": 1222, "module": "tsindex", "thread": 8664851008, "created": 1772629780.399196, "levelno": 30, "process": 3750, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 38679.58307266235}, {"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": 423.0, "lineno": 1222, "module": "tsindex", "thread": 8664851008, "created": 1772629780.423093, "levelno": 30, "process": 3750, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 38703.48024368286}], "outcome": "passed", "duration": 0.03456141600003093}, "setup": {"outcome": "passed", "duration": 0.0009021669999924598}, "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.0004714579999927082}}, {"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": 434.0, "lineno": 1222, "module": "tsindex", "thread": 8664851008, "created": 1772629780.43474, "levelno": 30, "process": 3750, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 38715.12722969055}, {"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": 443.0, "lineno": 1222, "module": "tsindex", "thread": 8664851008, "created": 1772629780.4439979, "levelno": 30, "process": 3750, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 38724.385023117065}], "outcome": "passed", "duration": 0.017830208000020775}, "setup": {"outcome": "passed", "duration": 0.0013950000000022555}, "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.00014716700002281868}}, {"call": {"outcome": "passed", "duration": 0.0018333750000465443}, "setup": {"outcome": "passed", "duration": 0.0017471670000190898}, "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.00015933299999915107}}, {"call": {"outcome": "passed", "duration": 0.019208459000026323}, "setup": {"outcome": "passed", "duration": 0.0018303749999972752}, "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.00028391600000077233}}, {"call": {"outcome": "passed", "duration": 0.0019645419999960723}, "setup": {"outcome": "passed", "duration": 0.0012062499999956344}, "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.00015891599997530648}}, {"call": {"outcome": "passed", "duration": 0.01619549999998071}, "setup": {"outcome": "passed", "duration": 0.0009467080000149508}, "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.00014329199996154784}}, {"call": {"outcome": "passed", "duration": 0.001972541999975874}, "setup": {"outcome": "passed", "duration": 0.00023158300001568932}, "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": 9.637499999826105e-05}}, {"call": {"outcome": "passed", "duration": 0.0004358329999831767}, "setup": {"outcome": "passed", "duration": 0.000270083000032173}, "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": 9.245900002952112e-05}}, {"call": {"outcome": "passed", "duration": 0.004276041000025543}, "setup": {"outcome": "passed", "duration": 0.0002753329999904963}, "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.0005393330000060814}}, {"call": {"outcome": "passed", "duration": 0.03412345899999991}, "setup": {"outcome": "passed", "duration": 0.0008411659999865151}, "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.0003799579999963498}}, {"call": {"outcome": "passed", "duration": 0.05143358299994816}, "setup": {"outcome": "passed", "duration": 0.0007010420000028716}, "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.00021391699999639968}}, {"call": {"outcome": "passed", "duration": 0.04221741699996073}, "setup": {"outcome": "passed", "duration": 0.0003329580000013266}, "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.0005115420000265658}}, {"call": {"outcome": "passed", "duration": 0.0007118330000253081}, "setup": {"outcome": "passed", "duration": 0.0003587499999753163}, "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.00010891700003412552}}, {"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": 652.0, "lineno": 1222, "module": "tsindex", "thread": 8664851008, "created": 1772629780.652771, "levelno": 30, "process": 3750, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 38933.15815925598}, {"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": 671.0, "lineno": 1222, "module": "tsindex", "thread": 8664851008, "created": 1772629780.671621, "levelno": 30, "process": 3750, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 38952.00824737549}], "outcome": "passed", "duration": 0.03749058299996477}, "setup": {"outcome": "passed", "duration": 0.00021379200001092613}, "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.0005115829999908783}}, {"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": 691.0, "lineno": 1222, "module": "tsindex", "thread": 8664851008, "created": 1772629780.6915689, "levelno": 30, "process": 3750, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 38971.95601463318}], "outcome": "passed", "duration": 0.005948499999988144}, "setup": {"outcome": "passed", "duration": 0.0005474170000070444}, "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.0003027920000135964}}, {"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": 705.0, "lineno": 1222, "module": "tsindex", "thread": 8664851008, "created": 1772629780.7052999, "levelno": 30, "process": 3750, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 38985.687017440796}], "outcome": "passed", "duration": 0.03899887500000432}, "setup": {"outcome": "passed", "duration": 0.0007020829999646594}, "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.0002516249999757747}}, {"call": {"outcome": "passed", "duration": 0.005996499999980642}, "setup": {"outcome": "passed", "duration": 0.0009567500000002838}, "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.00012704200003099686}}, {"call": {"outcome": "passed", "duration": 0.00017750000000660293}, "setup": {"outcome": "passed", "duration": 0.03624258400003555}, "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.0001080000000115433}}, {"call": {"outcome": "passed", "duration": 0.30140470800000685}, "setup": {"outcome": "passed", "duration": 0.02381329199999982}, "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.00067929199997252}}, {"call": {"outcome": "passed", "duration": 0.0015617079999969974}, "setup": {"outcome": "passed", "duration": 0.018032750000031683}, "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.00017970800001876341}}, {"call": {"outcome": "passed", "duration": 0.0008315420000144513}, "setup": {"outcome": "passed", "duration": 0.02148712500002148}, "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.00018499999998766725}}, {"call": {"outcome": "passed", "duration": 0.00024112500000228465}, "setup": {"outcome": "passed", "duration": 0.016997290999995585}, "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.0005593330000124297}}, {"call": {"outcome": "passed", "duration": 0.0002213750000237269}, "setup": {"outcome": "passed", "duration": 0.1485240839999733}, "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.0005107499999894571}}, {"call": {"outcome": "passed", "duration": 0.2988933750000342}, "setup": {"outcome": "passed", "duration": 0.18597154200000432}, "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.00015433300001177486}}, {"call": {"outcome": "passed", "duration": 0.00038783300004752164}, "setup": {"outcome": "passed", "duration": 0.07920141599998942}, "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.0005974580000156493}}, {"call": {"outcome": "passed", "duration": 0.0002868329999614616}, "setup": {"outcome": "passed", "duration": 0.06240229200000158}, "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.00010799999995469989}}, {"call": {"outcome": "passed", "duration": 0.00017108299999790688}, "setup": {"outcome": "passed", "duration": 0.055644458000017494}, "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.00011695800003508339}}, {"call": {"outcome": "passed", "duration": 0.1354012499999726}, "setup": {"outcome": "passed", "duration": 0.07326104200001282}, "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.0002168749999782449}}, {"call": {"outcome": "passed", "duration": 0.0006261249999965912}, "setup": {"outcome": "passed", "duration": 0.0726775829999724}, "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.00012745899999799803}}, {"call": {"outcome": "passed", "duration": 0.0004759580000381902}, "setup": {"outcome": "passed", "duration": 0.07003149999997049}, "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.00011208300003318072}}, {"call": {"outcome": "passed", "duration": 0.015542083000013918}, "setup": {"outcome": "passed", "duration": 0.0667077909999989}, "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.00014512500001728768}}, {"call": {"outcome": "passed", "duration": 0.007960125000010976}, "setup": {"outcome": "passed", "duration": 0.07373479199998201}, "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.0002628749999757929}}, {"call": {"outcome": "passed", "duration": 0.0011548749999974461}, "setup": {"outcome": "passed", "duration": 0.0007201249999866377}, "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": 9.945800002242322e-05}}, {"call": {"outcome": "passed", "duration": 0.0012977920000025733}, "setup": {"outcome": "passed", "duration": 0.0004888750000304753}, "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.0005471250000255168}}, {"call": {"outcome": "failed", "duration": 0.011990667000020494, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/__init__.py:63: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004723750000152904}, "lineno": 11, "nodeid": "core/__init__.py::obspy.core", "outcome": "failed", "keywords": ["obspy.core", "filterwarnings", "__init__.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00014616700002534344}}, {"call": {"outcome": "passed", "duration": 0.0019902500000057444}, "setup": {"outcome": "passed", "duration": 0.00022354099996846344}, "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.0001357090000055905}}, {"call": {"outcome": "passed", "duration": 0.00603341700002602}, "setup": {"outcome": "passed", "duration": 0.0004450829999882444}, "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.00012849999995978578}}, {"call": {"outcome": "passed", "duration": 0.002715707999982442}, "setup": {"outcome": "passed", "duration": 0.0002326250000237451}, "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.0003465409999989788}}, {"call": {"outcome": "passed", "duration": 0.0027304590000198914}, "setup": {"outcome": "passed", "duration": 0.0011509590000287062}, "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.00011129199998549666}}, {"call": {"outcome": "passed", "duration": 0.001592916999982208}, "setup": {"outcome": "passed", "duration": 0.00047016700000312994}, "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.000271917000020494}}, {"call": {"outcome": "passed", "duration": 0.0017657500000041182}, "setup": {"outcome": "passed", "duration": 0.0002437090000171338}, "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": 9.499999998752173e-05}}, {"call": {"outcome": "passed", "duration": 0.002840375000005224}, "setup": {"outcome": "passed", "duration": 0.0006583329999898524}, "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.00011629200002971629}}, {"call": {"outcome": "failed", "duration": 0.007642166999971778, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.__eq__[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:137: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0014830000000074506}, "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.00014795900000308393}}, {"call": {"outcome": "failed", "duration": 0.008107291999976951, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.clear[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:265: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00023233399997479864}, "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.00018833400002904455}}, {"call": {"outcome": "failed", "duration": 0.00502654199999597, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.copy[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:415: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002398750000338623}, "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.0006982090000065}}, {"call": {"outcome": "failed", "duration": 0.005038207999973565, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.filter[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:301: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00026887499996064435}, "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.00014004199999817502}}, {"call": {"outcome": "failed", "duration": 0.0043933329999958914, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.plot[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:625: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00021424999999908323}, "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.00015029100001129336}}, {"call": {"outcome": "failed", "duration": 0.003858500000035292, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.write[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:472: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00022766699999010598}, "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.00048683400001436894}}, {"call": {"outcome": "failed", "duration": 0.011687917000017478, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.event.Event.plot[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/event.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002806670000268241}, "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.00018904099999872415}}, {"call": {"outcome": "passed", "duration": 0.0027629169999840997}, "setup": {"outcome": "passed", "duration": 0.0007573329999672751}, "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.0001257920000057311}}, {"call": {"outcome": "passed", "duration": 0.006791415999998662}, "setup": {"outcome": "passed", "duration": 0.0003268750000415821}, "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.0003864589999693635}}, {"call": {"outcome": "passed", "duration": 0.007074999999986176}, "setup": {"outcome": "passed", "duration": 0.0011275420000060876}, "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.0005817499999807296}}, {"call": {"outcome": "passed", "duration": 0.0047950420000120175}, "setup": {"outcome": "passed", "duration": 0.0007178339999995842}, "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.00044404199996961324}}, {"call": {"outcome": "passed", "duration": 0.004012665999994169}, "setup": {"outcome": "passed", "duration": 0.000558542000021589}, "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.00012233299997888025}}, {"call": {"outcome": "failed", "duration": 0.006880624999951124, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/__init__.py:27: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007570409999857475}, "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.00024333299995760171}}, {"call": {"outcome": "passed", "duration": 0.17510837500003618}, "setup": {"outcome": "passed", "duration": 0.00035637499996710176}, "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.0001382499999635911}}, {"call": {"outcome": "passed", "duration": 0.34043229100001327}, "setup": {"outcome": "passed", "duration": 0.0002469169999699261}, "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.00015316699995082672}}, {"call": {"outcome": "passed", "duration": 0.15631366700000626}, "setup": {"outcome": "passed", "duration": 0.00028595800000630334}, "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.00015183300001808675}}, {"call": {"outcome": "failed", "duration": 0.010510333000013361, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.get_contents[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py:250: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002840409999862459}, "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.00017141600000059043}}, {"call": {"outcome": "passed", "duration": 0.07927537500000881}, "setup": {"outcome": "passed", "duration": 0.00024062500000354703}, "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.0001663750000489017}}, {"call": {"outcome": "passed", "duration": 0.0809465419999924}, "setup": {"outcome": "passed", "duration": 0.00029729099998121455}, "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.00016866700002537982}}, {"call": {"outcome": "failed", "duration": 0.007809959000041999, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.get_response[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py:420: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00025491599996030345}, "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.00014820799998460643}}, {"call": {"outcome": "failed", "duration": 0.13587454200001048, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.plot[8]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py:953: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00024429100000133985}, "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.00015066700001398203}}, {"call": {"outcome": "passed", "duration": 0.0741823330000102}, "setup": {"outcome": "passed", "duration": 0.0005529579999574707}, "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.00022037500002625166}}, {"call": {"outcome": "passed", "duration": 0.0738197499999842}, "setup": {"outcome": "passed", "duration": 0.00031391599998187303}, "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.00014379200001712888}}, {"call": {"outcome": "passed", "duration": 0.0701305419999585}, "setup": {"outcome": "passed", "duration": 0.0002769159999616022}, "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.0001386669999874357}}, {"call": {"outcome": "passed", "duration": 0.05656158400000777}, "setup": {"outcome": "passed", "duration": 0.00022800000004963294}, "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.00018183299999918745}}, {"call": {"outcome": "failed", "duration": 0.006672207999997681, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.network.Network.get_contents[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/network.py:189: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000336624999988544}, "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.0007869589999813797}}, {"call": {"outcome": "passed", "duration": 0.10628787499996406}, "setup": {"outcome": "passed", "duration": 0.00039487499998358544}, "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.00014666700002408106}}, {"call": {"outcome": "passed", "duration": 0.08740512499997521}, "setup": {"outcome": "passed", "duration": 0.0006864170000540071}, "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.0001438749999920219}}, {"call": {"outcome": "passed", "duration": 0.06863895800000819}, "setup": {"outcome": "passed", "duration": 0.00023050000004332105}, "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.00013204099997210506}}, {"call": {"outcome": "failed", "duration": 0.012235250000003361, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.response.PolesZerosResponseStage.calculate_normalization_factor[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/response.py:370: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000284582999995564}, "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.0005305419999785954}}, {"call": {"outcome": "passed", "duration": 0.004394790999981524}, "setup": {"outcome": "passed", "duration": 0.000790417000018806}, "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.0006181669999705264}}, {"call": {"outcome": "passed", "duration": 0.07275804199997538}, "setup": {"outcome": "passed", "duration": 0.0008922080000388632}, "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.00013624999996864062}}, {"call": {"outcome": "failed", "duration": 0.004595624999979009, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.station.Station.get_contents[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/station.py:204: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003435830000171336}, "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.000154875000021093}}, {"call": {"outcome": "passed", "duration": 0.06847008300002244}, "setup": {"outcome": "passed", "duration": 0.00022854200000210767}, "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.0004693340000017088}}, {"call": {"outcome": "passed", "duration": 0.08504499999997961}, "setup": {"outcome": "passed", "duration": 0.0004042499999741267}, "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.00029162499998847125}}, {"call": {"outcome": "passed", "duration": 0.09340879200004792}, "setup": {"outcome": "passed", "duration": 0.0004974579999839079}, "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.0001368329999991147}}, {"call": {"outcome": "passed", "duration": 0.0034020000000509754}, "setup": {"outcome": "passed", "duration": 0.0003780420000225604}, "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.00025237500000230284}}, {"call": {"outcome": "passed", "duration": 0.00445008299999472}, "setup": {"outcome": "passed", "duration": 0.0002203339999482523}, "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.0001253330000281494}}, {"call": {"outcome": "failed", "duration": 0.010188207999988208, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__eq__[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:575: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006877079999867419}, "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.00016399999998384374}}, {"call": {"outcome": "passed", "duration": 0.0020461249999925712}, "setup": {"outcome": "passed", "duration": 0.00024400000000923683}, "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.0004975829999693815}}, {"call": {"outcome": "passed", "duration": 0.004659249999974691}, "setup": {"outcome": "passed", "duration": 0.00027970899998308596}, "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.0001720419999742262}}, {"call": {"outcome": "passed", "duration": 0.002905959000031544}, "setup": {"outcome": "passed", "duration": 0.00023954099998491074}, "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.00013333399999737594}}, {"call": {"outcome": "failed", "duration": 0.008206874999984848, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__mul__[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000539666000008765}, "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.0004927500000349028}}, {"call": {"outcome": "failed", "duration": 0.004419834000032097, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__ne__[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:607: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004226670000093691}, "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.0006107090000000426}}, {"call": {"outcome": "passed", "duration": 0.0038754590000280587}, "setup": {"outcome": "passed", "duration": 0.0005959580000194364}, "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.0004222500000423679}}, {"call": {"outcome": "passed", "duration": 0.004472833999955128}, "setup": {"outcome": "passed", "duration": 0.0003129590000412463}, "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.00035925000003089735}}, {"call": {"outcome": "failed", "duration": 0.006606040999997731, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream._rotate_specific_channels_to_zne[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3571: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034541600001603}, "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.00045208300002741453}}, {"call": {"outcome": "failed", "duration": 0.005177082999978211, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream._rotate_to_zne[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3513: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002568329999803609}, "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.0005336250000027576}}, {"call": {"outcome": "failed", "duration": 0.005906000000038603, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.append[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:682: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002567920000160484}, "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.0002863330000195674}}, {"call": {"outcome": "failed", "duration": 0.008828792000031171, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.clear[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2966: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002378749999820684}, "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.0005103339999550371}}, {"call": {"outcome": "failed", "duration": 0.005517249999968499, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.copy[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2929: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005333749999749671}, "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.0004874999999628926}}, {"call": {"outcome": "failed", "duration": 0.008013375000018641, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.cutout[0]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1593: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004800000000386717}, "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.00021370899997918968}}, {"call": {"outcome": "passed", "duration": 0.0030060839999919153}, "setup": {"outcome": "passed", "duration": 0.0003005419999908554}, "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.00015025000004698086}}, {"call": {"outcome": "failed", "duration": 0.005117959000017436, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.extend[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:711: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002491669999926671}, "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.00013979100003780331}}, {"call": {"outcome": "failed", "duration": 0.006426999999973759, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.filter[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2249: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004920420000189552}, "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.00013191600004347492}}, {"call": {"outcome": "failed", "duration": 0.004897083000003022, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.get_gaps[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:764: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002089999999839165}, "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.00013804200000322453}}, {"call": {"outcome": "failed", "duration": 0.004470207999986542, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.interpolate[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2612: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00022762499997952546}, "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.00014904200003229562}}, {"call": {"outcome": "passed", "duration": 0.002677333000008275}, "setup": {"outcome": "passed", "duration": 0.00036625000001322405}, "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.00011920800000098097}}, {"call": {"outcome": "passed", "duration": 0.0032731659999853946}, "setup": {"outcome": "passed", "duration": 0.00022150000000920045}, "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.00010829100000364633}}, {"call": {"outcome": "failed", "duration": 0.0048302499999977044, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.plot[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1157: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00020187500001611625}, "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.0002376250000111213}}, {"call": {"outcome": "failed", "duration": 0.0045586250000155815, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.pop[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1209: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007541670000250633}, "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.00016404199999442426}}, {"call": {"outcome": "failed", "duration": 0.005027208999990762, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.print_gaps[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1239: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00024454199996171155}, "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.00019112500001483568}}, {"call": {"outcome": "failed", "duration": 0.006216749999964577, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1310: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002495420000059312}, "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.00021300000003066089}}, {"call": {"outcome": "failed", "duration": 0.007839582999963568, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove_response[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3241: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009187500000393811}, "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.0001740839999797572}}, {"call": {"outcome": "failed", "duration": 0.00734712500002388, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove_sensitivity[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3275: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002579999999738902}, "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.0001690830000029564}}, {"call": {"outcome": "failed", "duration": 0.006791249999992033, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.resample[0]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2387: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002423750000275504}, "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.00018025000002808156}}, {"call": {"outcome": "failed", "duration": 0.005382541000017227, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.reverse[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1334: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00023766600003227722}, "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.0001399999999875945}}, {"call": {"outcome": "failed", "duration": 0.004072000000007847, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.rotate[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2774: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002146250000123473}, "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.00015324999998256317}}, {"call": {"outcome": "failed", "duration": 0.0055270830000040405, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.select[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1796: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008421249999628344}, "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.0004029169999739679}}, {"call": {"outcome": "failed", "duration": 0.007261124999956792, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.simulate[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2161: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0014330829999948946}, "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.0001780840000265016}}, {"call": {"outcome": "failed", "duration": 0.006428541999980553, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.slice[0]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1655: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002437080000277092}, "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.00022758299996894493}}, {"call": {"outcome": "failed", "duration": 0.0055814579999946545, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.slide[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1718: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002716660000032789}, "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.00020975000001044464}}, {"call": {"outcome": "failed", "duration": 0.009695249999992939, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.sort[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1374: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007639579999931811}, "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.00016533299998400253}}, {"call": {"outcome": "failed", "duration": 0.008869250000032025, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.spectrogram[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1180: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00023525000000290675}, "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.0003679580000266469}}, {"call": {"outcome": "failed", "duration": 0.007073249999962172, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.stack[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3330: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006512080000220521}, "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.00018224999996618862}}, {"call": {"outcome": "passed", "duration": 0.0036265420000063386}, "setup": {"outcome": "passed", "duration": 0.00024541699997371325}, "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.00012316700002656944}}, {"call": {"outcome": "failed", "duration": 0.008068041999990783, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.trigger[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2324: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003593750000163709}, "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.00014491700000007768}}, {"call": {"outcome": "failed", "duration": 0.011833500000022923, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.trim[0]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1516: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00021750000001929948}, "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.00015324999998256317}}, {"call": {"outcome": "passed", "duration": 0.004241916000012225}, "setup": {"outcome": "passed", "duration": 0.00021504099998992388}, "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.00016983399996206572}}, {"call": {"outcome": "passed", "duration": 0.001932000000010703}, "setup": {"outcome": "passed", "duration": 0.00026145900000074107}, "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": 9.67499999546817e-05}}, {"call": {"outcome": "skipped", "duration": 0.0008767080000211536, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00020091700002922153}, "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.00016895900000690744}}, {"call": {"outcome": "failed", "duration": 0.0165616669999622, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.read[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:103: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00022533399999247195}, "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.0001738330000193855}}, {"call": {"outcome": "passed", "duration": 0.8481203750000077}, "setup": {"outcome": "passed", "duration": 0.0006487079999715206}, "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.00021141600001328698}}, {"call": {"outcome": "passed", "duration": 0.00044770799996740607}, "setup": {"outcome": "passed", "duration": 0.00026300000001810986}, "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.00015954200000578567}}, {"call": {"outcome": "passed", "duration": 0.0001477079999858688}, "setup": {"outcome": "passed", "duration": 0.00021424999999908323}, "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": 8.687499996540282e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015527909999946132, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 36, in test_str\n    event = read_events()[1]\n            ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039779200000111814}, "lineno": 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.00021166699997365868}}, {"call": {"outcome": "passed", "duration": 0.001495417000000998}, "setup": {"outcome": "passed", "duration": 0.0002582079999911002}, "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.00013037500002610614}}, {"call": {"outcome": "passed", "duration": 0.0015558329999976195}, "setup": {"outcome": "passed", "duration": 0.0002258750000123655}, "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.0005733749999876636}}, {"call": {"outcome": "passed", "duration": 0.0011265830000297683}, "setup": {"outcome": "passed", "duration": 0.00024695799999108203}, "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.00014412500001981243}}, {"call": {"outcome": "passed", "duration": 6.329466916000001}, "setup": {"outcome": "passed", "duration": 0.0008642919999601872}, "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.000593416999947749}}, {"call": {"outcome": "passed", "duration": 0.000813374999950156}, "setup": {"outcome": "passed", "duration": 0.0008424170000012055}, "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.00015141700004051017}}, {"call": {"outcome": "passed", "duration": 0.0019882080000002134}, "setup": {"outcome": "passed", "duration": 0.00034420800000134477}, "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.00022483300000430972}}, {"call": {"outcome": "passed", "duration": 0.0013018749999673673}, "setup": {"outcome": "passed", "duration": 0.0002277080000112619}, "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.00013470799996184724}}, {"call": {"outcome": "passed", "duration": 0.012366459000020313}, "setup": {"outcome": "passed", "duration": 0.00020908300001565294}, "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.00012583300002688702}}, {"call": {"outcome": "passed", "duration": 0.00027475000001686567}, "setup": {"outcome": "passed", "duration": 0.00020812500002875822}, "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": 9.075000002667366e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0031732499999748143, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 230, in test_read_events_without_parameters\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003875419999985752}, "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.00015462499999330248}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009101670000291051, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 237, in test_str\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003014579999671696}, "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.0001767499999800748}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018809579999583548, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 247, in test_read_events\n    catalog = read_events(testdata['iris_events.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009512499999573265}, "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.002444792000005691}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001449165999986235, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 263, in test_read_events_with_wildcard\n    expected = read_events(testdata['iris_events.xml'])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032091700001046775}, "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.0001535410000315096}}, {"call": {"outcome": "passed", "duration": 0.0006491670000059457}, "setup": {"outcome": "passed", "duration": 0.0007262499999569627}, "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.00010695800000348754}}, {"call": {"outcome": "passed", "duration": 0.0008602500000165492}, "setup": {"outcome": "passed", "duration": 0.0001900420000424674}, "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.00023587499998711792}}, {"call": {"outcome": "passed", "duration": 0.002496916999973564}, "setup": {"outcome": "passed", "duration": 0.0009649169999761398}, "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.000140250000015385}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009487080000099013, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 357, in test_count_and_len\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002096659999892836}, "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.0001657079999972666}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011111249999657957, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 365, in test_get_item\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021312500001613444}, "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.00016362500002742308}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000972375000003467, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 379, in test_slicing\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033404200001996287}, "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.00015650000000277942}}, {"call": {"outcome": "passed", "duration": 0.0016065000000367036}, "setup": {"outcome": "passed", "duration": 0.0001975000000129512}, "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.0003602909999926851}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00100012500001867, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 408, in test_copy\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006910829999924317}, "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.00015495799999598603}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008923340000137614, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 430, in test_filter\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000206999999988966}, "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.0003431249999721331}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007725830000140377, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 460, in test_catalog_resource_id\n    cat = read_events(testdata['neries_events.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006451670000160448}, "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.0001792499999737629}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009705839999583077, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 468, in test_can_pickle\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022124999998140993}, "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.00014525000000276123}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016653330000053757, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 486, in test_issue_2173\n    event2 = read_events(bio)[0]\n             ^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021158399999876565}, "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.0003530000000182554}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006425840000474636, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 494, in test_read_path\n    assert read_events(str(testdata['iris_events.xml'])) == \\\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005318329999681737}, "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.00027587499999981446}}, {"call": {"outcome": "passed", "duration": 0.00043345900002123017}, "setup": {"outcome": "passed", "duration": 0.00023295900001585323}, "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.00012541600000304243}}, {"call": {"outcome": "passed", "duration": 0.00021162500001992157}, "setup": {"outcome": "passed", "duration": 0.00019183399996336448}, "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.00015312499999708962}}, {"call": {"outcome": "passed", "duration": 0.00016333299998905204}, "setup": {"outcome": "passed", "duration": 0.0001927090000322096}, "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": 8.695799999713927e-05}}, {"call": {"outcome": "passed", "duration": 0.00019745800000237068}, "setup": {"outcome": "passed", "duration": 0.00018387500000471846}, "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.00012225000000398722}}, {"call": {"outcome": "passed", "duration": 0.00021195900001202972}, "setup": {"outcome": "passed", "duration": 0.00025695799996583446}, "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.00041558300000588133}}, {"call": {"outcome": "passed", "duration": 0.001067000000034568}, "setup": {"outcome": "passed", "duration": 0.00023749999996880433}, "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.00010654199996906755}}, {"call": {"outcome": "passed", "duration": 0.0011791249999646425}, "setup": {"outcome": "passed", "duration": 0.00017987499995797407}, "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": 9.683399997584274e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008921250000071268, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 674, in test_issue3105\n    evs = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00016837499998700878}, "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.0004903749999698448}}, {"call": {"outcome": "passed", "duration": 0.00020275000002811794}, "setup": {"outcome": "passed", "duration": 0.00039216599998326274}, "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": 8.712499999319334e-05}}, {"call": {"outcome": "passed", "duration": 0.004133249999995314}, "setup": {"outcome": "passed", "duration": 0.0001692910000201664}, "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.00011508400001503105}}, {"call": {"outcome": "passed", "duration": 0.00048666700001831487}, "setup": {"outcome": "passed", "duration": 0.0002130830000055539}, "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": 8.875000003172318e-05}}, {"call": {"outcome": "passed", "duration": 0.00044770799996740607}, "setup": {"outcome": "passed", "duration": 0.00017016599997532467}, "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": 8.483300001671523e-05}}, {"call": {"outcome": "passed", "duration": 0.5376850410000316}, "setup": {"outcome": "passed", "duration": 0.00028012500001750595}, "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.000221624999994674}}, {"call": {"outcome": "passed", "duration": 0.3101832909999871}, "setup": {"outcome": "passed", "duration": 0.00022670800001378666}, "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.0001298749999705251}}, {"call": {"outcome": "passed", "duration": 0.6245257499999752}, "setup": {"outcome": "passed", "duration": 0.00022054200002230573}, "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.0001375410000150623}}, {"call": {"outcome": "passed", "duration": 0.060171292000006815}, "setup": {"outcome": "passed", "duration": 0.00021900000001551234}, "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.000137791999975434}}, {"call": {"outcome": "passed", "duration": 0.08669899999995323}, "setup": {"outcome": "passed", "duration": 0.00023362500002122033}, "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.00013012499999831562}}, {"call": {"outcome": "passed", "duration": 0.07495141600003308}, "setup": {"outcome": "passed", "duration": 0.00022754200000463243}, "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.00012799999996104816}}, {"call": {"outcome": "passed", "duration": 0.11791895900000782}, "setup": {"outcome": "passed", "duration": 0.0003203750000011496}, "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.00012641699998994227}}, {"call": {"outcome": "passed", "duration": 0.11110504100003027}, "setup": {"outcome": "passed", "duration": 0.000637707999999293}, "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.001716417000011461}}, {"call": {"outcome": "passed", "duration": 0.0002558749999934662}, "setup": {"outcome": "passed", "duration": 0.00029004199996052193}, "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": 9.362499997678242e-05}}, {"call": {"outcome": "passed", "duration": 0.0002725420000047052}, "setup": {"outcome": "passed", "duration": 0.0001760829999852831}, "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.00021883400000888287}}, {"call": {"outcome": "passed", "duration": 0.14212795800000322}, "setup": {"outcome": "passed", "duration": 0.0002457500000332402}, "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.00015808400002015333}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000865333999968243, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 599, in test_inventory_can_be_initialized_with_no_arguments\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023525000000290675}, "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.00019137499998578278}}, {"call": {"outcome": "passed", "duration": 0.12162612499997749}, "setup": {"outcome": "passed", "duration": 0.00023158400000511392}, "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.00020662500003254536}}, {"call": {"outcome": "passed", "duration": 0.12743395799998325}, "setup": {"outcome": "passed", "duration": 0.0005085409999878721}, "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.00017508300004465127}}, {"call": {"outcome": "passed", "duration": 0.00020162499998832573}, "setup": {"outcome": "passed", "duration": 0.0003321249999999054}, "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.0001080000000115433}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015383749999955398, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 665, in test_read_inventory_with_wildcard\n    expected = read_inventory(testdata['IU_ANMO_00_BHZ.xml'])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008374590000244098}, "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.00015074999998887506}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006475000000136788, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 676, in test_read_inventory_with_path\n    inv1 = read_inventory(path1)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003300829999943744}, "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.0007140000000163127}}, {"call": {"outcome": "passed", "duration": 1.7258909160000258}, "setup": {"outcome": "passed", "duration": 0.00043004100001553525}, "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.00031195899998692767}}, {"call": {"outcome": "passed", "duration": 1.45176254200004}, "setup": {"outcome": "passed", "duration": 0.0004508750000127293}, "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.00043933299997434005}}, {"call": {"outcome": "passed", "duration": 2.173729165999987}, "setup": {"outcome": "passed", "duration": 0.0009655829999815069}, "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.0004195839999852069}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0728449590000082, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 720, in test_combined_station_event_plot\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004137079999964044}, "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.0006322920000343402}}, {"call": {"outcome": "passed", "duration": 0.0018686249999859683}, "setup": {"outcome": "passed", "duration": 0.0008095829999774651}, "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.00012441699999499178}}, {"call": {"outcome": "passed", "duration": 0.0012764169999854857}, "setup": {"outcome": "passed", "duration": 0.00023799999996754195}, "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.00010562500000332875}}, {"call": {"outcome": "passed", "duration": 0.6107531249999738}, "setup": {"outcome": "passed", "duration": 0.0010191669999812802}, "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.000225915999976678}}, {"call": {"outcome": "passed", "duration": 0.2647636250000005}, "setup": {"outcome": "passed", "duration": 0.00025854199998320837}, "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.00040858300002355463}}, {"call": {"outcome": "passed", "duration": 0.06863454099999444}, "setup": {"outcome": "passed", "duration": 0.000805124999999407}, "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.0001801669999963451}}, {"call": {"outcome": "passed", "duration": 0.07658645799995156}, "setup": {"outcome": "passed", "duration": 0.0002777089999881355}, "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.0003318750000289583}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011422079999761081, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_network.py\", line 247, in test_writing_network_before_1990\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007190420000142694}, "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.00015233400000624897}}, {"call": {"outcome": "passed", "duration": 0.11199550000003455}, "setup": {"outcome": "passed", "duration": 0.00022687500000984073}, "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.0004087080000090282}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.012501541999995425, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_network.py\", line 298, in test_empty_network_code\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002910000000042601}, "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.00019558299999289375}}, {"call": {"outcome": "passed", "duration": 1.481107583000039}, "setup": {"outcome": "passed", "duration": 0.001154499999984182}, "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.0005200829999694179}}, {"call": {"outcome": "passed", "duration": 1.199053708000008}, "setup": {"outcome": "passed", "duration": 0.0004189170000472586}, "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.0004406249999533429}}, {"call": {"outcome": "passed", "duration": 0.575540999999987}, "setup": {"outcome": "passed", "duration": 0.0004170830000020942}, "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.00025329199996804164}}, {"call": {"outcome": "passed", "duration": 0.0032838750000223627}, "setup": {"outcome": "passed", "duration": 0.00027220900000202164}, "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.00043525000000954606}}, {"call": {"outcome": "passed", "duration": 0.002844667000033496}, "setup": {"outcome": "passed", "duration": 0.0007231249999790634}, "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.00013112499999579086}}, {"call": {"outcome": "passed", "duration": 0.0025705420000008417}, "setup": {"outcome": "passed", "duration": 0.0008071249999943575}, "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.000521125000034317}}, {"call": {"outcome": "passed", "duration": 0.0008502080000312162}, "setup": {"outcome": "passed", "duration": 0.00023729199995159433}, "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.00010091600000805556}}, {"call": {"outcome": "passed", "duration": 0.0009854580000023816}, "setup": {"outcome": "passed", "duration": 0.0016612910000048942}, "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.0002263750000111031}}, {"call": {"outcome": "passed", "duration": 0.0006056249999915053}, "setup": {"outcome": "passed", "duration": 0.0002982499999575339}, "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.00022145899998804452}}, {"call": {"outcome": "passed", "duration": 0.0005188339999904201}, "setup": {"outcome": "passed", "duration": 0.0006300000000010186}, "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.0008060829999863017}}, {"call": {"outcome": "passed", "duration": 0.004410500000005868}, "setup": {"outcome": "passed", "duration": 0.00041108300001724274}, "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.0001435830000104943}}, {"call": {"outcome": "passed", "duration": 0.00024424999998018393}, "setup": {"outcome": "passed", "duration": 0.00022187500002246452}, "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": 8.991599997898447e-05}}, {"call": {"outcome": "passed", "duration": 0.00025670899998431196}, "setup": {"outcome": "passed", "duration": 0.00020354200000838318}, "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.00030558399998881214}}, {"call": {"outcome": "passed", "duration": 0.00023708400004807118}, "setup": {"outcome": "passed", "duration": 0.00023795800001380485}, "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": 9.754100000236576e-05}}, {"call": {"outcome": "passed", "duration": 0.0012562499999830834}, "setup": {"outcome": "passed", "duration": 0.00016675000000532236}, "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": 8.450000001403168e-05}}, {"call": {"outcome": "passed", "duration": 0.0003143339999951422}, "setup": {"outcome": "passed", "duration": 0.00016704199998685}, "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": 8.783300000914096e-05}}, {"call": {"outcome": "passed", "duration": 0.0002629169999863734}, "setup": {"outcome": "passed", "duration": 0.00018366599999808386}, "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": 8.291699998608237e-05}}, {"call": {"outcome": "passed", "duration": 0.00015287500002614252}, "setup": {"outcome": "passed", "duration": 0.00016945900000564507}, "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.00030650000002196975}}, {"call": {"outcome": "passed", "duration": 0.000319666999985202}, "setup": {"outcome": "passed", "duration": 0.0002840419999756705}, "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.00036583399997880406}}, {"call": {"outcome": "passed", "duration": 0.00045466599999599566}, "setup": {"outcome": "passed", "duration": 0.00024966600000198014}, "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.00010320799998453367}}, {"call": {"outcome": "passed", "duration": 0.023601249999956053}, "setup": {"outcome": "passed", "duration": 0.00018225000002303204}, "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.00017754200001718345}}, {"call": {"outcome": "passed", "duration": 0.0012862089999998716}, "setup": {"outcome": "passed", "duration": 0.0002919170000268423}, "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.00019487499997694613}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.016373917000009897, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 308, in test_preferred_origin\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000321917000007943}, "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.00017841700002918515}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.013688166999997975, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 317, in test_preferred_magnitude\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022437500001615263}, "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.00022191699997620162}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.012849082999991879, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 326, in test_preferred_focal_mechanism\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000275791999968078}, "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.0005691250000268155}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.018317291999949248, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 336, in test_arrivals_refer_to_picks_in_same_event\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010530840000342323}, "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.000577375000034408}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.010773374999985208, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 348, in test_all_referred_objects_in_events\n    for num, cat in enumerate(catalogs or make_diverse_catalog_list()):\n                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008902079999870693}, "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.0005265420000455379}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.013673167000035846, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 363, in test_all_resource_id_attrs_are_attached\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000961832999962553}, "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.00015179199999693083}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.009058750000008331, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 379, in test_no_overlapping_objects\n    catalogs = catalogs or make_diverse_catalog_list()\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020704199999954653}, "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.0003607499999702668}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018075419999945552, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 402, in test_event_copying_does_not_raise_duplicate_resource_id_warning\n    ev = read_events()[0]\n         ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002599999999688407}, "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.00029120800002147007}}, {"call": {"outcome": "passed", "duration": 0.0004154590000098324}, "setup": {"outcome": "passed", "duration": 0.00025983300002963006}, "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.00010008400005290241}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009879589999854943, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 468, in test_catalog_resource_ids\n    cat1 = read_events()\n           ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002317909999760559}, "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.00019216599997662343}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06732416699998112, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 505, in test_event_scoped_resource_id_many_threads\n    nested_catalogs = pool.map(make_diverse_catalog_list, range(5))\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 367, in map\n    return self._map_async(func, iterable, mapstar, chunksize).get()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 774, in get\n    raise self._value\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 125, in worker\n    result = (True, func(*args, **kwds))\n                    ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 48, in mapstar\n    return list(map(*args))\n           ^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023641600000701146}, "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.0002721660000020165}}, {"call": {"outcome": "passed", "duration": 0.000702708000005714}, "setup": {"outcome": "passed", "duration": 0.0010023340000202552}, "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.00011929200002214202}}, {"call": {"outcome": "passed", "duration": 0.0002545419999933074}, "setup": {"outcome": "passed", "duration": 0.00020533299999669907}, "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": 8.624999998119165e-05}}, {"call": {"outcome": "passed", "duration": 0.00033066600002484847}, "setup": {"outcome": "passed", "duration": 0.00017441599999301616}, "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": 8.445899999287576e-05}}, {"call": {"outcome": "passed", "duration": 0.014085416999989775}, "setup": {"outcome": "passed", "duration": 0.00017166700001780555}, "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.00038854199999605044}}, {"call": {"outcome": "passed", "duration": 0.01116658300003337}, "setup": {"outcome": "passed", "duration": 0.00027158300002838587}, "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.00013308299998016082}}, {"call": {"outcome": "passed", "duration": 0.00029050000000552245}, "setup": {"outcome": "passed", "duration": 0.0002155409999886615}, "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": 8.745799999587689e-05}}, {"call": {"outcome": "passed", "duration": 0.0006492499999808388}, "setup": {"outcome": "passed", "duration": 0.000175624999997126}, "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.0004279159999782678}}, {"call": {"outcome": "passed", "duration": 0.00046233299997311406}, "setup": {"outcome": "passed", "duration": 0.0006977909999932308}, "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.00019150000002809975}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.017115791999970043, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 66, in test_evalresp_with_output_from_seed\n    inv = read_inventory(xml_filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005603750000204855}, "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.000466249999988122}}, {"call": {"outcome": "passed", "duration": 0.001181625000015174}, "setup": {"outcome": "passed", "duration": 0.0005100420000303529}, "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": 9.812499996542101e-05}}, {"call": {"outcome": "passed", "duration": 0.00046700000001465014}, "setup": {"outcome": "passed", "duration": 0.0002541249999694628}, "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.0002601670000217382}}, {"call": {"outcome": "passed", "duration": 0.7672917080000161}, "setup": {"outcome": "passed", "duration": 0.0009709579999821472}, "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.0001821669999912956}}, {"call": {"outcome": "passed", "duration": 0.5717507919999889}, "setup": {"outcome": "passed", "duration": 0.00035770900001352857}, "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.00022316700000146739}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.014476042000012512, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 198, in test_segfault_after_error_handling\n    inv = read_inventory(testdata[\"TM.SKLT.__.BHZ_faulty_response.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001385916999993242}, "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.00030266699997127944}}, {"call": {"outcome": "passed", "duration": 0.0004150830000071437}, "setup": {"outcome": "passed", "duration": 0.0002418750000288128}, "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": 8.933300000535382e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003981749999979911, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 227, in test_response_list_stage\n    inv = read_inventory(testdata[\"IM_IL31__BHZ.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00019716700001026766}, "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.00014579200001207937}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018635419999668557, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 267, in test_response_with_no_units_in_stage_1\n    inv = read_inventory(testdata[\"stationxml_no_units_in_stage_1.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003539170000408376}, "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.0003848339999876771}}, {"call": {"outcome": "passed", "duration": 0.005084624999994958}, "setup": {"outcome": "passed", "duration": 0.0005601249999926949}, "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.0001246670000227823}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002521707999960654, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 324, in test_resp_from_paz_loading_vs_evalresp\n    resp_er = read_inventory(filename)[0][0][0].response\n              ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00024337500002502566}, "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.00015250000001287844}}, {"call": {"outcome": "passed", "duration": 0.000652207999962684}, "setup": {"outcome": "passed", "duration": 0.00043791600000986364}, "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.00011695800003508339}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.07369704199999205, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 417, in test_get_sampling_rates\n    inv = read_inventory(testdata['AU.MEEK.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022470800001883617}, "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.00017316600002459381}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025118749999819556, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 477, in test_response_calculation_paz_without_decimation\n    inv = read_inventory(testdata['DK.BSD..BHZ.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00025195799997845825}, "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.00018483299999161318}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017815409999570875, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 491, in test_regression_evalresp\n    inv = read_inventory(testdata[\"IM_I53H1_BDF.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002645419999680598}, "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.00040591699996639363}}, {"call": {"outcome": "passed", "duration": 0.23345587499994735}, "setup": {"outcome": "passed", "duration": 0.0005977079999865964}, "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.00015341699997861724}}, {"call": {"outcome": "passed", "duration": 0.02805112500004725}, "setup": {"outcome": "passed", "duration": 0.0015985420000106387}, "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.00036791599995922297}}, {"call": {"outcome": "passed", "duration": 0.03096349999998438}, "setup": {"outcome": "passed", "duration": 0.0007189579999931084}, "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.0005709579999688685}}, {"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.07143145800000639}, "setup": {"outcome": "passed", "duration": 0.0008784999999988941}, "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.00021241600001076222}}, {"call": {"outcome": "passed", "duration": 0.00693274999997584}, "setup": {"outcome": "passed", "duration": 0.0002567500000054679}, "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.00011933399997587912}}, {"call": {"outcome": "passed", "duration": 0.07227929099997255}, "setup": {"outcome": "passed", "duration": 0.0002315419999945334}, "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.0002312920000235863}}, {"call": {"outcome": "passed", "duration": 0.5250202909999757}, "setup": {"outcome": "passed", "duration": 0.00041408399999909307}, "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.00022245899998551977}}, {"call": {"outcome": "passed", "duration": 0.7008672499999875}, "setup": {"outcome": "passed", "duration": 0.00033891700002186553}, "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.00017116700001906793}}, {"call": {"outcome": "passed", "duration": 0.05350554099999272}, "setup": {"outcome": "passed", "duration": 0.0002195839999785676}, "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.0001472079999871312}}, {"call": {"outcome": "passed", "duration": 0.12715633300001628}, "setup": {"outcome": "passed", "duration": 0.00023795900000322945}, "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.0001269169999886799}}, {"call": {"outcome": "passed", "duration": 0.006874374999995325}, "setup": {"outcome": "passed", "duration": 0.0008757499999774154}, "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.0001787500000318687}}, {"call": {"outcome": "passed", "duration": 0.0002504170000179329}, "setup": {"outcome": "passed", "duration": 0.000874040999974568}, "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": 9.237500000836008e-05}}, {"call": {"outcome": "passed", "duration": 0.0003280839999888485}, "setup": {"outcome": "passed", "duration": 0.00016383300004463308}, "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": 9.94160000118427e-05}}, {"call": {"outcome": "passed", "duration": 0.0002676670000028025}, "setup": {"outcome": "passed", "duration": 0.0005032920000189733}, "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.00010199999996984843}}, {"call": {"outcome": "passed", "duration": 0.00017758300003833938}, "setup": {"outcome": "passed", "duration": 0.00017062500000974978}, "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": 9.270800001104362e-05}}, {"call": {"outcome": "passed", "duration": 0.001513875000000553}, "setup": {"outcome": "passed", "duration": 0.00018212499998071507}, "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.00014416700003039296}}, {"call": {"outcome": "passed", "duration": 0.00038941700000805213}, "setup": {"outcome": "passed", "duration": 0.00020070800002258693}, "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": 8.5875000024771e-05}}, {"call": {"outcome": "passed", "duration": 0.00020950000003949754}, "setup": {"outcome": "passed", "duration": 0.0001812500000255568}, "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": 8.937499995909093e-05}}, {"call": {"outcome": "passed", "duration": 0.0011391250000087894}, "setup": {"outcome": "passed", "duration": 0.00015987500000846921}, "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.0002800000000320324}}, {"call": {"outcome": "passed", "duration": 0.0006558329999961643}, "setup": {"outcome": "passed", "duration": 0.00020366699999385673}, "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": 9.2208000012306e-05}}, {"call": {"outcome": "passed", "duration": 0.0001887079999960406}, "setup": {"outcome": "passed", "duration": 0.00016958300000169402}, "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": 8.354099998086895e-05}}, {"call": {"outcome": "passed", "duration": 0.0002976249999733227}, "setup": {"outcome": "passed", "duration": 0.00015779199998178228}, "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": 8.962499998688145e-05}}, {"call": {"outcome": "passed", "duration": 0.00015295799994419212}, "setup": {"outcome": "passed", "duration": 0.00017504200002349535}, "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": 8.437500002855813e-05}}, {"call": {"outcome": "passed", "duration": 0.0002923750000149994}, "setup": {"outcome": "passed", "duration": 0.0001593750000097316}, "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": 8.374999998750354e-05}}, {"call": {"outcome": "passed", "duration": 0.0002324170000065351}, "setup": {"outcome": "passed", "duration": 0.00018541600002208725}, "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": 8.308399998213645e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023293749999879765, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stats.py\", line 280, in test_casted_stats_nscl_writes_to_mseed\n    st = Stream(traces=read()[0])\n                       ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00018416699998624608}, "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.00016087500000594446}}, {"call": {"outcome": "passed", "duration": 0.00023370799999611336}, "setup": {"outcome": "passed", "duration": 0.00032970800003795375}, "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.00036983299997928043}}, {"call": {"outcome": "passed", "duration": 0.0007811250000031578}, "setup": {"outcome": "passed", "duration": 0.0006632500000023356}, "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.00011220799996181086}}, {"call": {"outcome": "passed", "duration": 0.0004604169999993246}, "setup": {"outcome": "passed", "duration": 0.0005016670000372869}, "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.00010104200003979713}}, {"call": {"outcome": "passed", "duration": 0.0005250829999567941}, "setup": {"outcome": "passed", "duration": 0.002087083999981587}, "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.00010779199999433331}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019282079999811685, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 114, in test_getitem\n    stream = read()\n             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007047499999544016}, "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.00016579100002900304}}, {"call": {"outcome": "passed", "duration": 0.0027000000000043656}, "setup": {"outcome": "passed", "duration": 0.002948124999988977}, "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.00035920800002031683}}, {"call": {"outcome": "passed", "duration": 0.0005427920000329323}, "setup": {"outcome": "passed", "duration": 0.003431874999989759}, "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.00017233400001259724}}, {"call": {"outcome": "passed", "duration": 0.0005367079999700763}, "setup": {"outcome": "passed", "duration": 0.0005262500000071668}, "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": 9.62500000127875e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0026471250000099644, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 197, in test_add_trace_to_stream\n    st0 = read()\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00017420800003264958}, "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.000276125000027605}}, {"call": {"outcome": "passed", "duration": 0.00041741699999420234}, "setup": {"outcome": "passed", "duration": 0.0013660829999935231}, "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.00010400000002164234}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027927499999691463, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 245, in test_count_and_len\n    stream = read()\n             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00017533400000502297}, "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.00015770800001746466}}, {"call": {"outcome": "passed", "duration": 0.00031841700001677964}, "setup": {"outcome": "passed", "duration": 0.0011959160000287739}, "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.00012870799997699578}}, {"call": {"outcome": "passed", "duration": 0.0013840839999943455}, "setup": {"outcome": "passed", "duration": 0.0026588750000087202}, "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.0005515420000392623}}, {"call": {"outcome": "passed", "duration": 0.0013890419999711412}, "setup": {"outcome": "passed", "duration": 0.0030074160000026495}, "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.0003335000000106447}}, {"call": {"outcome": "passed", "duration": 0.00240241699998478}, "setup": {"outcome": "passed", "duration": 0.0007574580000095921}, "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.00038154200001372374}}, {"call": {"outcome": "passed", "duration": 0.0012548750000291875}, "setup": {"outcome": "passed", "duration": 0.0003129590000412463}, "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": 9.666699997978867e-05}}, {"call": {"outcome": "passed", "duration": 0.0018949999999904321}, "setup": {"outcome": "passed", "duration": 0.001281583999968916}, "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.0001341669999987971}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020284999999944375, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 443, in test_slicing\n    stream = read()\n             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022808300002452597}, "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.00014912500000718865}}, {"call": {"outcome": "passed", "duration": 0.00036154100001795086}, "setup": {"outcome": "passed", "duration": 0.0002902079999671514}, "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.00010691699998233162}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0031767080000122405, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 474, in test_slice\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023125000001300577}, "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.00018154200000708443}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022908330000177557, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 487, in test_slice_nearest_sample\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022491699996862735}, "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.0001513329999625057}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027267919999758305, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 522, in test_cutout\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000307500000019445}, "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.0001670409999974254}}, {"call": {"outcome": "passed", "duration": 0.0006112499999630927}, "setup": {"outcome": "passed", "duration": 0.00020995899996023581}, "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.0003129170000306658}}, {"call": {"outcome": "passed", "duration": 0.0014249590000190437}, "setup": {"outcome": "passed", "duration": 0.0020782500000109394}, "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.00014570799999091832}}, {"call": {"outcome": "passed", "duration": 0.0009067920000234153}, "setup": {"outcome": "passed", "duration": 0.0015676250000069558}, "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.000194750000048316}}, {"call": {"outcome": "passed", "duration": 0.01224275000004127}, "setup": {"outcome": "passed", "duration": 0.00019895799999858355}, "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.00012266700002783182}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021510409999905278, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 712, in test_select_on_single_letter_channels\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008058750000259352}, "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.00014437499999075953}}, {"call": {"outcome": "passed", "duration": 0.002175500000021202}, "setup": {"outcome": "passed", "duration": 0.000200667000001431}, "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.00017704199996160241}}, {"call": {"outcome": "passed", "duration": 0.001086999999984073}, "setup": {"outcome": "passed", "duration": 0.00021654200003240476}, "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.00010066699996968964}}, {"call": {"outcome": "passed", "duration": 0.0008617089999916061}, "setup": {"outcome": "passed", "duration": 0.00018766599998798483}, "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": 8.483300001671523e-05}}, {"call": {"outcome": "passed", "duration": 0.0022946660000116026}, "setup": {"outcome": "passed", "duration": 0.0001587080000149399}, "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": 9.379199997283649e-05}}, {"call": {"outcome": "passed", "duration": 0.004688750000013897}, "setup": {"outcome": "passed", "duration": 0.00017887500001734224}, "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.0001194999999825086}}, {"call": {"outcome": "passed", "duration": 0.0030535419999750957}, "setup": {"outcome": "passed", "duration": 0.00019350000002305023}, "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.0003492089999781456}}, {"call": {"outcome": "passed", "duration": 0.0025867499999776555}, "setup": {"outcome": "passed", "duration": 0.0015168750000498221}, "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.00013004199996657917}}, {"call": {"outcome": "passed", "duration": 0.003609750000009626}, "setup": {"outcome": "passed", "duration": 0.00030091699994727605}, "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.0003313750000302207}}, {"call": {"outcome": "passed", "duration": 0.005776041999979498}, "setup": {"outcome": "passed", "duration": 0.0013478330000111782}, "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.00014424999994844256}}, {"call": {"outcome": "passed", "duration": 0.006809458000020641}, "setup": {"outcome": "passed", "duration": 0.00040541700002449943}, "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.00013495799998963776}}, {"call": {"outcome": "passed", "duration": 0.00032270799999878363}, "setup": {"outcome": "passed", "duration": 0.00020925000001170702}, "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": 9.012499998561907e-05}}, {"call": {"outcome": "passed", "duration": 0.001225125000019034}, "setup": {"outcome": "passed", "duration": 0.00017037499998195926}, "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": 9.770799999841984e-05}}, {"call": {"outcome": "passed", "duration": 0.00814024999999674}, "setup": {"outcome": "passed", "duration": 0.00018445800003519253}, "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.0001278749999755746}}, {"call": {"outcome": "passed", "duration": 0.08455312500001355}, "setup": {"outcome": "passed", "duration": 0.00019741699998121476}, "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.0004195000000208893}}, {"call": {"outcome": "passed", "duration": 0.006115916999988258}, "setup": {"outcome": "passed", "duration": 0.0002498329999980342}, "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.00017170800003896147}}, {"call": {"outcome": "passed", "duration": 0.03370470900000555}, "setup": {"outcome": "passed", "duration": 0.0002442090000158714}, "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.0013049590000377975}}, {"call": {"outcome": "passed", "duration": 0.008122500000013133}, "setup": {"outcome": "passed", "duration": 0.0017034999999623324}, "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.000140040999951907}}, {"call": {"outcome": "passed", "duration": 0.0015467079999780253}, "setup": {"outcome": "passed", "duration": 0.00023754100004680367}, "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.00012900000001536682}}, {"call": {"outcome": "passed", "duration": 0.0007975409999971816}, "setup": {"outcome": "passed", "duration": 0.0006432079999854068}, "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.00012804199997162868}}, {"call": {"outcome": "passed", "duration": 0.0037365420000128324}, "setup": {"outcome": "passed", "duration": 0.00039120800005321144}, "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.0005475000000387809}}, {"call": {"outcome": "passed", "duration": 0.0021987920000015038}, "setup": {"outcome": "passed", "duration": 0.000242374999970707}, "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.00016758400005301155}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018497089999982563, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1419, in test_is_pickle\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022325000003320383}, "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.0001975409999772637}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0054933750000145665, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1434, in test_read_write_pickle\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023599999997259147}, "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.00019624999998768544}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0034025840000140306, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1474, in test_read_pickle\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007762920000118356}, "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.00018804200004751692}}, {"call": {"outcome": "passed", "duration": 0.0014588750000257278}, "setup": {"outcome": "passed", "duration": 0.00020745800003396653}, "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": 9.399999999004649e-05}}, {"call": {"outcome": "passed", "duration": 0.0005099589999986165}, "setup": {"outcome": "passed", "duration": 0.00018179199997803153}, "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.00021658399998614186}}, {"call": {"outcome": "passed", "duration": 0.0034475829999678353}, "setup": {"outcome": "passed", "duration": 0.00019100000002936213}, "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.00041291700000556375}}, {"call": {"outcome": "passed", "duration": 0.014110291000008601}, "setup": {"outcome": "passed", "duration": 0.0006425000000263026}, "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.00012258300000667077}}, {"call": {"outcome": "passed", "duration": 0.001089250000006814}, "setup": {"outcome": "passed", "duration": 0.00020508299996890855}, "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.0001706659999740623}}, {"call": {"outcome": "passed", "duration": 0.0017574579999859452}, "setup": {"outcome": "passed", "duration": 0.0001941250000072614}, "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.00010600000001659282}}, {"call": {"outcome": "passed", "duration": 0.002038041999981033}, "setup": {"outcome": "passed", "duration": 0.0003842080000140413}, "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.00011304099996323203}}, {"call": {"outcome": "passed", "duration": 0.004331832999980634}, "setup": {"outcome": "passed", "duration": 0.00019245900000441907}, "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.00035266600002614723}}, {"call": {"outcome": "passed", "duration": 0.0031369170000061786}, "setup": {"outcome": "passed", "duration": 0.0002605840000455828}, "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.0001048330000230635}}, {"call": {"outcome": "passed", "duration": 0.005461832999969829}, "setup": {"outcome": "passed", "duration": 0.00018099999999776628}, "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.00011604200000192577}}, {"call": {"outcome": "passed", "duration": 0.01710258299999623}, "setup": {"outcome": "passed", "duration": 0.0011635830000500391}, "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.0001373339999872769}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017733340000063436, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1875, in test_integrate_and_differentiate\n    st1 = read()\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020166699999890625}, "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.00017925000003060632}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002479624999978114, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1895, in test_read\n    tr = read(dtype=np.int64)[0]\n         ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004888750000304753}, "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.0005370000000084474}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003219584000021314, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1972, in test_read_path\n    st = read(data_path)\n         ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012010410000016236}, "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.00030129100002795894}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004987624999955642, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1979, in test_copy\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007260840000071767}, "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.0001970829999891066}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021685830000137685, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1994, in test_merge_with_empty_trace\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00025808300000562667}, "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.00014704100004792053}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021800420000204213, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2007, in test_rotate\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020558299996764617}, "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.00013895799997953873}}, {"call": {"outcome": "passed", "duration": 0.23322579200004157}, "setup": {"outcome": "passed", "duration": 0.0011112500000081127}, "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.0004583340000294811}}, {"call": {"stderr": "Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/resource_tracker.py\", line 30, in <module>\n    _IGNORED_SIGNALS = (signal.SIGINT, signal.SIGTERM)\n                        ^^^^^^^^^^^^^\nAttributeError: module 'signal' has no attribute 'SIGINT'\n", "outcome": "passed", "duration": 0.44585491600003024}, "setup": {"outcome": "passed", "duration": 0.0029707080000207498}, "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.0005835420000153135}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004415917000017089, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2111, in test_deepcopy\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000681667000037578}, "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.00019783299995879133}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001593791000004785, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2128, in test_write\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020870799994554545}, "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.00016879200001085337}}, {"call": {"outcome": "passed", "duration": 0.08121804099999963}, "setup": {"outcome": "passed", "duration": 0.00023229100003163694}, "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.00047608300002366377}}, {"call": {"outcome": "passed", "duration": 0.026611540999965655}, "setup": {"outcome": "passed", "duration": 0.0008524579999971138}, "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.00013770900000054098}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018008749999580687, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2190, in test_issue_540\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022424999997383566}, "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.0005127910000055635}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004792000000009011, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2222, in test_method_chaining\n    st1 = read()[0:1]\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006576659999950607}, "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.0004941249999887987}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003544500000032258, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2303, in test_simulate_seedresp_parser\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005852919999824735}, "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.0005291669999678561}}, {"call": {"outcome": "passed", "duration": 0.0025347079999846756}, "setup": {"outcome": "passed", "duration": 0.005371208999974897}, "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.0020196670000132144}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004532292000021698, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2361, in test_remove_response\n    st1 = read()\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009002919999829828}, "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.00036270799995463676}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004250249999984135, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2376, in test_attach_response_deprecated\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004080410000142365}, "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.0005413340000472999}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0031970000000001164, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2387, in test_remove_sensitivity\n    st1 = read()\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035229099995603974}, "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.00020416599994632634}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018573749999859501, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2408, in test_interpolate\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022912499997573832}, "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.00019304099998862512}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023860000000013315, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2421, in test_integrate\n    st1 = read()\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022937500000352884}, "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.0001657079999972666}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017352499999674365, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2434, in test_integrate_args\n    st1 = read()\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020916699997997057}, "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.00013949999998885687}}, {"call": {"outcome": "passed", "duration": 0.511574416999963}, "setup": {"outcome": "passed", "duration": 0.00019666699995468662}, "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.00041858399998773166}}, {"call": {"outcome": "passed", "duration": 0.09141354199999796}, "setup": {"outcome": "passed", "duration": 0.00040187499996591214}, "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.00013470800001869065}}, {"call": {"outcome": "passed", "duration": 0.0021922079999967536}, "setup": {"outcome": "passed", "duration": 0.00020420900000317488}, "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.00010233299997253198}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021294999999668107, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2651, in test_passing_kwargs_to_trace_detrend\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000192708000042785}, "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.00045375000001968147}}, {"call": {"outcome": "passed", "duration": 0.05540024999999105}, "setup": {"outcome": "passed", "duration": 0.0010224999999763895}, "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.0001411250000273867}}, {"call": {"outcome": "passed", "duration": 0.23724704200003544}, "setup": {"outcome": "passed", "duration": 0.0002234169999724145}, "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.0001729169999862279}}, {"call": {"outcome": "passed", "duration": 0.5364425840000422}, "setup": {"outcome": "passed", "duration": 0.00021470799998724033}, "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.00014241600001696497}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0031287500000303226, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2745, in test_stack\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023616700002548896}, "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.0003639579999799025}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00493216699999266, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2847, in test_stream_trim_slice_same_length\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005999580000093374}, "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.00017658399997344532}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024482919999968544, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2854, in test_filter_ftype\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010149589999741693}, "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.0004995420000000195}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004023749999987558, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2863, in test_filter_freq_args\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010276250000060827}, "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.00031754099995850993}}, {"call": {"outcome": "passed", "duration": 0.019345834000034756}, "setup": {"outcome": "passed", "duration": 0.002127332999975806}, "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.00015204200002472135}}, {"call": {"outcome": "passed", "duration": 0.005965124999988802}, "setup": {"outcome": "passed", "duration": 0.001109999999982847}, "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.0006177919999572623}}, {"call": {"outcome": "passed", "duration": 0.0002795409999976073}, "setup": {"outcome": "passed", "duration": 0.00023058299996137066}, "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": 8.975000002919842e-05}}, {"call": {"outcome": "passed", "duration": 0.00030674999999291686}, "setup": {"outcome": "passed", "duration": 0.00033474999997906707}, "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.0003578330000095775}}, {"call": {"outcome": "passed", "duration": 0.000568666999981815}, "setup": {"outcome": "passed", "duration": 0.0008895840000491262}, "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.0002678339999988566}}, {"call": {"outcome": "passed", "duration": 0.002143457999977727}, "setup": {"outcome": "passed", "duration": 0.0003905410000015763}, "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.00010125000000016371}}, {"call": {"outcome": "passed", "duration": 0.001920083000015893}, "setup": {"outcome": "passed", "duration": 0.00017908300003455224}, "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.00010162500001342778}}, {"call": {"outcome": "passed", "duration": 0.003417917000035686}, "setup": {"outcome": "passed", "duration": 0.00018479199997045725}, "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.00011816700003919323}}, {"call": {"outcome": "passed", "duration": 0.002779374999988704}, "setup": {"outcome": "passed", "duration": 0.00021245900001076734}, "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.00010700000001406806}}, {"call": {"outcome": "passed", "duration": 0.007271082999977807}, "setup": {"outcome": "passed", "duration": 0.000622833999955219}, "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.0004195000000208893}}, {"call": {"outcome": "passed", "duration": 0.0015842500000076143}, "setup": {"outcome": "passed", "duration": 0.0007651660000078664}, "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.00019149999997125633}}, {"call": {"outcome": "passed", "duration": 0.0012820419999570731}, "setup": {"outcome": "passed", "duration": 0.0006864580000183196}, "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.00043525000000954606}}, {"call": {"outcome": "passed", "duration": 0.0016465420000031372}, "setup": {"outcome": "passed", "duration": 0.0009435000000053151}, "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.00011258399996449953}}, {"call": {"outcome": "passed", "duration": 0.0007277079999994385}, "setup": {"outcome": "passed", "duration": 0.00022408299997778158}, "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": 9.154100001751431e-05}}, {"call": {"outcome": "passed", "duration": 0.0010360829999740417}, "setup": {"outcome": "passed", "duration": 0.0006058330000087153}, "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.00010962499999322972}}, {"call": {"outcome": "passed", "duration": 0.0020191250000038963}, "setup": {"outcome": "passed", "duration": 0.00038654100001167535}, "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": 9.612499997047053e-05}}, {"call": {"outcome": "passed", "duration": 0.0035083330000134083}, "setup": {"outcome": "passed", "duration": 0.00017741599998544189}, "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.000221624999994674}}, {"call": {"outcome": "passed", "duration": 0.007034250000003794}, "setup": {"outcome": "passed", "duration": 0.00020725000001675653}, "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.00029812500002890374}}, {"call": {"outcome": "passed", "duration": 0.0007794590000003154}, "setup": {"outcome": "passed", "duration": 0.0002854589999969903}, "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.0001700000000255386}}, {"call": {"outcome": "passed", "duration": 0.005475875000001906}, "setup": {"outcome": "passed", "duration": 0.00018787499999461943}, "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.00013108299998521034}}, {"call": {"outcome": "passed", "duration": 0.0019935419999796977}, "setup": {"outcome": "passed", "duration": 0.00021445800001629323}, "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.0006530839999641103}}, {"call": {"outcome": "passed", "duration": 0.0035775000000057844}, "setup": {"outcome": "passed", "duration": 0.0003275839999901109}, "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.000131667000005109}}, {"call": {"outcome": "passed", "duration": 0.0013297080000143069}, "setup": {"outcome": "passed", "duration": 0.0001988749999668471}, "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.0007084999999733554}}, {"call": {"outcome": "passed", "duration": 0.5036394999999629}, "setup": {"outcome": "passed", "duration": 0.000733583999988241}, "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.00018774999995230246}}, {"call": {"outcome": "passed", "duration": 0.0007137910000096781}, "setup": {"outcome": "passed", "duration": 0.00034708399999772155}, "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.0001125000000001819}}, {"call": {"outcome": "passed", "duration": 0.010362792000023546}, "setup": {"outcome": "passed", "duration": 0.0002028750000135915}, "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.0005485419999899932}}, {"call": {"outcome": "passed", "duration": 0.0021254170000020167}, "setup": {"outcome": "passed", "duration": 0.0010779589999856398}, "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.000493457999994007}}, {"call": {"outcome": "passed", "duration": 0.002423667000016394}, "setup": {"outcome": "passed", "duration": 0.0006159160000152042}, "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.00042529099999910613}}, {"call": {"outcome": "passed", "duration": 0.006807624999964901}, "setup": {"outcome": "passed", "duration": 0.0009999170000014601}, "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.0003067910000140728}}, {"call": {"outcome": "passed", "duration": 0.002833916999975372}, "setup": {"outcome": "passed", "duration": 0.0012301250000064101}, "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.00013516699999627235}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002635625000038999, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1208, in test_masked_array_to_string\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023383400002785493}, "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.00022770799995441848}}, {"call": {"outcome": "passed", "duration": 0.003234292000001915}, "setup": {"outcome": "passed", "duration": 0.00023616699996864554}, "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.00012820799997825816}}, {"call": {"outcome": "passed", "duration": 0.016529916999957095}, "setup": {"outcome": "passed", "duration": 0.00020250000000032742}, "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.00014037500000085856}}, {"call": {"outcome": "passed", "duration": 0.017555791000006593}, "setup": {"outcome": "passed", "duration": 0.0002407919999996011}, "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.0001215000000343025}}, {"call": {"outcome": "passed", "duration": 0.009760290999963672}, "setup": {"outcome": "passed", "duration": 0.00022849999999152715}, "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.0001300840000340031}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00382120799997665, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1328, in test_verify\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022020900001962218}, "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.00020570899999938774}}, {"call": {"outcome": "passed", "duration": 0.000454083000022365}, "setup": {"outcome": "passed", "duration": 0.00025329199996804164}, "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.00010558299999274823}}, {"call": {"outcome": "passed", "duration": 0.0008704580000085116}, "setup": {"outcome": "passed", "duration": 0.00017391599999427854}, "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": 9.249999999383363e-05}}, {"call": {"outcome": "passed", "duration": 0.014253542000005837}, "setup": {"outcome": "passed", "duration": 0.0001801249999857646}, "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.00040233400000033726}}, {"call": {"outcome": "passed", "duration": 0.009917624999957297}, "setup": {"outcome": "passed", "duration": 0.0008998750000159816}, "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.00037591700004213635}}, {"call": {"outcome": "passed", "duration": 0.002521375000014814}, "setup": {"outcome": "passed", "duration": 0.0005810409999753574}, "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.0004137500000069849}}, {"call": {"outcome": "passed", "duration": 0.000692291000007117}, "setup": {"outcome": "passed", "duration": 0.0007852080000247952}, "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.00012054199999056436}}, {"call": {"outcome": "passed", "duration": 0.06640375000000631}, "setup": {"outcome": "passed", "duration": 0.00022512499998583735}, "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.0001249160000043048}}, {"call": {"outcome": "passed", "duration": 0.07008183299996062}, "setup": {"outcome": "passed", "duration": 0.000733666999963134}, "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.00013158299998394796}}, {"call": {"outcome": "passed", "duration": 0.00035549999995510007}, "setup": {"outcome": "passed", "duration": 0.0002448749999643951}, "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": 9.133300000030431e-05}}, {"call": {"outcome": "passed", "duration": 0.0017637079999985872}, "setup": {"outcome": "passed", "duration": 0.0001765000000091277}, "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.00041537500004551475}}, {"call": {"outcome": "passed", "duration": 0.00042329100000415565}, "setup": {"outcome": "passed", "duration": 0.0007919169999581754}, "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.00011491699996213356}}, {"call": {"outcome": "passed", "duration": 0.0009354590000043572}, "setup": {"outcome": "passed", "duration": 0.0004022499999791762}, "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": 9.754100000236576e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00580395800000133, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1577, in test_simulate_evalresp\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00017883399999618632}, "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.000529290999963905}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020663749999698666, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1605, in test_issue_540\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003516670000180966}, "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.0001801660000069205}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017893749999871034, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1636, in test_resample\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023724999999785723}, "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.00044654099997387675}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008066624999969463, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1667, in test_method_chaining\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033254200002375}, "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.00018541700001151185}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017049580000048081, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1705, in test_skip_empty_trace\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029233399999384346}, "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.00013066699995079034}}, {"call": {"outcome": "passed", "duration": 0.0002482500000269283}, "setup": {"outcome": "passed", "duration": 0.0001929590000031567}, "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": 8.470800003124168e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019426249999696665, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1734, in test_remove_response\n    tr1 = read()[0]\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00018858299995372363}, "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.00017841699997234173}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015870410000502488, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1750, in test_remove_polynomial_response\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00084479200000942}, "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.0005450419999988299}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003897042000005513, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1785, in test_processing_info_remove_response_and_sensitivity\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007942090000483404}, "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.0005162909999967269}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002482957999973223, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1825, in test_processing_information\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032116699998141485}, "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.00017637500002365414}}, {"call": {"outcome": "passed", "duration": 0.0010793330000069545}, "setup": {"outcome": "passed", "duration": 0.0003389169999650221}, "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.00010787500002606976}}, {"call": {"outcome": "passed", "duration": 0.0005442919999723017}, "setup": {"outcome": "passed", "duration": 0.0006350830000201313}, "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.00011037500001975786}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.010104749999982232, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1907, in test_interpolate\n    org_tr = read(\"/path/to/%s\" % file_, round_sampling_interval=False)[0]\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003066249999505999}, "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.00024195800000370582}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003906124999957683, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1983, in test_interpolation_time_shift\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000662958000020808}, "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.00017670899995891887}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004806916000006822, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2047, in test_interpolation_arguments\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040408400002434064}, "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.00015204199996787793}}, {"call": {"outcome": "passed", "duration": 0.04471295799999098}, "setup": {"outcome": "passed", "duration": 0.0002015420000134327}, "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.0003699580000215974}}, {"call": {"outcome": "passed", "duration": 0.013817958000004182}, "setup": {"outcome": "passed", "duration": 0.0007245830000215392}, "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.0004049579999900743}}, {"call": {"outcome": "passed", "duration": 0.0027625000000170985}, "setup": {"outcome": "passed", "duration": 0.0007010419999460282}, "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.00013554200000953642}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009915840000189746, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2292, in test_remove_response_plot\n    tr = read(\"/path/to/IU_ULN_00_LH1_2015-07-18T02.mseed\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003588750000176333}, "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.000893125000004602}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008471291999967434, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2302, in test_remove_response_default_units\n    tr = read(\"/path/to/1T_MONN_00_EDH.mseed\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00089745800005403}, "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.0004807089999872005}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003765624999971351, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2308, in test_attach_response_deprecated\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006933749999689098}, "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.0002017919999843798}}, {"call": {"outcome": "passed", "duration": 0.0023838339999997515}, "setup": {"outcome": "passed", "duration": 0.0002202909999482472}, "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.0001442910000264419}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002110875000028045, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2420, in test_dtype_is_not_unnecessarily_changed\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00019354099998736274}, "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.0002098749999959182}}, {"call": {"outcome": "passed", "duration": 0.0007919169999581754}, "setup": {"outcome": "passed", "duration": 0.0002944999999954234}, "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.0003839589999756754}}, {"call": {"outcome": "passed", "duration": 0.0011945420000074591}, "setup": {"outcome": "passed", "duration": 0.0007534160000091106}, "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.00012633300002562464}}, {"call": {"outcome": "passed", "duration": 0.000541582999971979}, "setup": {"outcome": "passed", "duration": 0.00021683299996766436}, "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.00010387500003616879}}, {"call": {"outcome": "passed", "duration": 0.0007622500000366017}, "setup": {"outcome": "passed", "duration": 0.0002870000000143591}, "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.00010125000000016371}}, {"call": {"outcome": "passed", "duration": 0.0005307089999746495}, "setup": {"outcome": "passed", "duration": 0.00018583399997851302}, "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": 8.629100000234757e-05}}, {"call": {"outcome": "passed", "duration": 0.00025483300004225384}, "setup": {"outcome": "passed", "duration": 0.00015904200000704805}, "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": 9.30830000243077e-05}}, {"call": {"outcome": "passed", "duration": 0.0011279999999942447}, "setup": {"outcome": "passed", "duration": 0.0007883330000026945}, "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.00036958300000833333}}, {"call": {"outcome": "passed", "duration": 0.0022310420000053455}, "setup": {"outcome": "passed", "duration": 0.0007546250000132204}, "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.0004024579999963862}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005426958000043669, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2728, in test_long_processing_list\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002791249999631873}, "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.0001898330000358328}}, {"call": {"outcome": "passed", "duration": 0.22943670799998017}, "setup": {"outcome": "passed", "duration": 0.00022308400002657436}, "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.0004831669999703081}}, {"call": {"outcome": "passed", "duration": 0.005013499999961368}, "setup": {"outcome": "passed", "duration": 0.00034212499997465784}, "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.00023279199996295574}}, {"call": {"outcome": "passed", "duration": 0.0007070839999983036}, "setup": {"outcome": "passed", "duration": 0.0003415830000221831}, "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.00011279200003855294}}, {"call": {"outcome": "passed", "duration": 0.00027225000002317756}, "setup": {"outcome": "passed", "duration": 0.0002157499999952961}, "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": 9.658400000489564e-05}}, {"call": {"outcome": "passed", "duration": 0.00020866699998123295}, "setup": {"outcome": "passed", "duration": 0.0001634579999745256}, "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": 8.141600000044491e-05}}, {"call": {"outcome": "passed", "duration": 0.006888290999995661}, "setup": {"outcome": "passed", "duration": 0.0002563330000384667}, "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.00012091600001440383}}, {"call": {"outcome": "passed", "duration": 0.012488542000028247}, "setup": {"outcome": "passed", "duration": 0.00021316699996987154}, "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.00012650000002167872}}, {"call": {"outcome": "passed", "duration": 0.011579042000050777}, "setup": {"outcome": "passed", "duration": 0.0002399169999875994}, "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.00041904099998646416}}, {"call": {"outcome": "passed", "duration": 0.0006659160000026532}, "setup": {"outcome": "passed", "duration": 0.0006463330000201495}, "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.00011670899999671747}}, {"call": {"outcome": "passed", "duration": 0.00019062500001609806}, "setup": {"outcome": "passed", "duration": 0.00019837499996810948}, "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": 9.33339999846794e-05}}, {"call": {"outcome": "passed", "duration": 0.0005358750000254986}, "setup": {"outcome": "passed", "duration": 0.0003010410000001684}, "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": 9.466599999541359e-05}}, {"call": {"outcome": "passed", "duration": 0.00029166600000962717}, "setup": {"outcome": "passed", "duration": 0.00017254099998353922}, "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": 9.316700004546874e-05}}, {"call": {"outcome": "passed", "duration": 0.0006962919999864425}, "setup": {"outcome": "passed", "duration": 0.0005043329999807611}, "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.0003752079999799207}}, {"call": {"outcome": "passed", "duration": 0.00017254100004038264}, "setup": {"outcome": "passed", "duration": 0.0003126670000028753}, "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": 9.191700002020298e-05}}, {"call": {"outcome": "passed", "duration": 0.001555541999948673}, "setup": {"outcome": "passed", "duration": 0.0001763329999562302}, "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.00040441599998075617}}, {"call": {"outcome": "passed", "duration": 0.0003780840000331409}, "setup": {"outcome": "passed", "duration": 0.0006115420000014637}, "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.00011074999997617851}}, {"call": {"outcome": "passed", "duration": 0.0005676250000306027}, "setup": {"outcome": "passed", "duration": 0.0001887499999497777}, "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.00010612500000206637}}, {"call": {"outcome": "passed", "duration": 0.0006061670000008235}, "setup": {"outcome": "passed", "duration": 0.00018004100002144696}, "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": 8.666600001561164e-05}}, {"call": {"outcome": "passed", "duration": 0.00034983399996235676}, "setup": {"outcome": "passed", "duration": 0.00016087500000594446}, "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": 7.974999999760257e-05}}, {"call": {"outcome": "passed", "duration": 0.0002939999999966858}, "setup": {"outcome": "passed", "duration": 0.00016558400000121765}, "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": 8.266700001513527e-05}}, {"call": {"outcome": "passed", "duration": 0.00042670800002042597}, "setup": {"outcome": "passed", "duration": 0.0001591669999925216}, "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.00012512499995409598}}, {"call": {"outcome": "passed", "duration": 0.0007407500000340406}, "setup": {"outcome": "passed", "duration": 0.0002978750000011132}, "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": 9.883299998136863e-05}}, {"call": {"outcome": "passed", "duration": 0.0002511250000338805}, "setup": {"outcome": "passed", "duration": 0.00016487499999584543}, "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.00013466699999753473}}, {"call": {"outcome": "passed", "duration": 0.000585416999967947}, "setup": {"outcome": "passed", "duration": 0.00020325000002685556}, "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.0004260829999793714}}, {"call": {"outcome": "passed", "duration": 0.0020384170000511403}, "setup": {"outcome": "passed", "duration": 0.0007058749999941938}, "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.00035862499998984276}}, {"call": {"outcome": "passed", "duration": 0.0007876669999973274}, "setup": {"outcome": "passed", "duration": 0.0002304579999758971}, "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.00011999999998124622}}, {"call": {"outcome": "passed", "duration": 0.0006905829999936941}, "setup": {"outcome": "passed", "duration": 0.0002610829999980524}, "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": 9.699999998247222e-05}}, {"call": {"outcome": "passed", "duration": 0.0028688340000257995}, "setup": {"outcome": "passed", "duration": 0.00020983399997476226}, "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.0004628749999824322}}, {"call": {"outcome": "passed", "duration": 0.0027480420000074446}, "setup": {"outcome": "passed", "duration": 0.0004139589999567761}, "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.00041241600001740153}}, {"call": {"outcome": "passed", "duration": 0.00381408300000885}, "setup": {"outcome": "passed", "duration": 0.0006634169999983897}, "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.00017641700003423466}}, {"call": {"outcome": "passed", "duration": 0.0030685419999940677}, "setup": {"outcome": "passed", "duration": 0.00023029200002611105}, "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.0002447919999895021}}, {"call": {"outcome": "passed", "duration": 0.00033450000000811997}, "setup": {"outcome": "passed", "duration": 0.00024049999996123006}, "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.00028554199997188334}}, {"call": {"outcome": "passed", "duration": 0.00017550000001165245}, "setup": {"outcome": "passed", "duration": 0.00020524999996496263}, "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": 9.504100000867766e-05}}, {"call": {"outcome": "passed", "duration": 0.00025916700002426296}, "setup": {"outcome": "passed", "duration": 0.00017824999997628765}, "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.00012166700003035658}}, {"call": {"outcome": "passed", "duration": 0.0004900409999777366}, "setup": {"outcome": "passed", "duration": 0.00018991700000015044}, "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.00012479200000825585}}, {"call": {"outcome": "passed", "duration": 0.00018341600002713676}, "setup": {"outcome": "passed", "duration": 0.00020354100001895858}, "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": 9.679100003268104e-05}}, {"call": {"outcome": "passed", "duration": 0.0010820410000178526}, "setup": {"outcome": "passed", "duration": 0.0008362500000202999}, "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.00011150000000270666}}, {"call": {"outcome": "passed", "duration": 0.001449124999965079}, "setup": {"outcome": "passed", "duration": 0.00022200000000793807}, "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.00032408399999894755}}, {"call": {"outcome": "passed", "duration": 0.0030513329999735106}, "setup": {"outcome": "passed", "duration": 0.0002834169999914593}, "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.0001228749999881984}}, {"call": {"outcome": "passed", "duration": 0.001047041999981957}, "setup": {"outcome": "passed", "duration": 0.00041579100002309133}, "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.00014049999998633211}}, {"call": {"outcome": "passed", "duration": 0.00022958299996389542}, "setup": {"outcome": "passed", "duration": 0.00022720900000194888}, "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.0001271670000164704}}, {"call": {"outcome": "passed", "duration": 0.0001975000000129512}, "setup": {"outcome": "passed", "duration": 0.00018608299996003552}, "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.00011358299997255017}}, {"call": {"outcome": "passed", "duration": 0.00017770900001323753}, "setup": {"outcome": "passed", "duration": 0.00024270800003023396}, "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.00010116699996842726}}, {"call": {"outcome": "passed", "duration": 0.00019933400000127222}, "setup": {"outcome": "passed", "duration": 0.00017795799999476003}, "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": 8.479199999555931e-05}}, {"call": {"outcome": "passed", "duration": 0.0012542079999775524}, "setup": {"outcome": "passed", "duration": 0.0001665830000092683}, "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.0001242499999989377}}, {"call": {"outcome": "passed", "duration": 0.0009080840000024182}, "setup": {"outcome": "passed", "duration": 0.00019220900003347197}, "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.0006597920000217528}}, {"call": {"outcome": "passed", "duration": 0.0003404579999823909}, "setup": {"outcome": "passed", "duration": 0.00024241599999186292}, "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.00010150000002795423}}, {"call": {"outcome": "passed", "duration": 0.08877679199997601}, "setup": {"outcome": "passed", "duration": 0.0001762500000381806}, "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.0001307919999931073}}, {"call": {"outcome": "passed", "duration": 0.0012527079999813395}, "setup": {"outcome": "passed", "duration": 0.0006987079999589696}, "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.00011699999998882049}}, {"call": {"outcome": "passed", "duration": 0.0006082909999918229}, "setup": {"outcome": "passed", "duration": 0.00021408300000302916}, "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.0003614170000219019}}, {"call": {"outcome": "passed", "duration": 0.002573749999953634}, "setup": {"outcome": "passed", "duration": 0.0005135000000109358}, "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.00041916600002878113}}, {"call": {"outcome": "passed", "duration": 0.001627292000023317}, "setup": {"outcome": "passed", "duration": 0.0004943750000165892}, "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.00011491700001897698}}, {"call": {"outcome": "passed", "duration": 0.00022191699997620162}, "setup": {"outcome": "passed", "duration": 0.0002159580000125061}, "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.0036704999999983556}}, {"call": {"outcome": "passed", "duration": 0.0011186250000037035}, "setup": {"outcome": "passed", "duration": 0.0007995839999921373}, "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.0003047920000085469}}, {"call": {"outcome": "passed", "duration": 0.00068124999995689}, "setup": {"outcome": "passed", "duration": 0.0007699579999780326}, "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.00013837500000590808}}, {"call": {"outcome": "passed", "duration": 0.00042733300000463714}, "setup": {"outcome": "passed", "duration": 0.000359624999987318}, "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.0001406659999929616}}, {"call": {"outcome": "passed", "duration": 0.00039574999999558713}, "setup": {"outcome": "passed", "duration": 0.0003679579999698035}, "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.00011308300003065597}}, {"call": {"outcome": "passed", "duration": 0.00033654199995680756}, "setup": {"outcome": "passed", "duration": 0.0001720000000204891}, "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": 9.60000000418404e-05}}, {"call": {"outcome": "passed", "duration": 0.0006478329999595189}, "setup": {"outcome": "passed", "duration": 0.00017891700002792277}, "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.0003541659999655167}}, {"call": {"outcome": "passed", "duration": 0.007968958999981623}, "setup": {"outcome": "passed", "duration": 0.00042354200002137077}, "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.00013645899997527522}}, {"call": {"outcome": "passed", "duration": 0.0010170829999651687}, "setup": {"outcome": "passed", "duration": 0.00047849999998561543}, "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.00012549999996736005}}, {"call": {"outcome": "passed", "duration": 0.004221625000013773}, "setup": {"outcome": "passed", "duration": 0.0008521670000050108}, "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.0001237919999539372}}, {"call": {"outcome": "passed", "duration": 0.0006675419999737642}, "setup": {"outcome": "passed", "duration": 0.00044245899999850735}, "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.00035612499999615466}}, {"call": {"outcome": "passed", "duration": 0.0002451249999921856}, "setup": {"outcome": "passed", "duration": 0.00022554200000968194}, "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": 8.958400002256894e-05}}, {"call": {"outcome": "passed", "duration": 0.00015333300001429961}, "setup": {"outcome": "passed", "duration": 0.00019870800002763644}, "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": 9.04169999671467e-05}}, {"call": {"outcome": "passed", "duration": 0.00016441700000768833}, "setup": {"outcome": "passed", "duration": 0.0001540000000090913}, "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.00032437499999105057}}, {"call": {"outcome": "passed", "duration": 0.002676708000024064}, "setup": {"outcome": "passed", "duration": 0.0008043330000191418}, "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.0001738330000193855}}, {"call": {"outcome": "passed", "duration": 0.0002121250000186592}, "setup": {"outcome": "passed", "duration": 0.0006882089999749041}, "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": 9.26660000004631e-05}}, {"call": {"outcome": "passed", "duration": 0.0017783330000042952}, "setup": {"outcome": "passed", "duration": 0.0008027499999911925}, "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.0003337080000278547}}, {"call": {"outcome": "passed", "duration": 0.0020115419999910955}, "setup": {"outcome": "passed", "duration": 0.0006542090000039025}, "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.0001350420000107988}}, {"call": {"outcome": "passed", "duration": 0.00053333300002123}, "setup": {"outcome": "passed", "duration": 0.00020391700002164725}, "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": 8.650000000898217e-05}}, {"call": {"outcome": "passed", "duration": 0.00020879200002354992}, "setup": {"outcome": "passed", "duration": 0.00018333399998482491}, "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": 8.108299999776136e-05}}, {"call": {"outcome": "passed", "duration": 0.005806749999976546}, "setup": {"outcome": "passed", "duration": 0.00015633299994988192}, "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.0001540000000090913}}, {"call": {"outcome": "passed", "duration": 0.0005518749999851025}, "setup": {"outcome": "passed", "duration": 0.00023849999996627957}, "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": 8.924999997361738e-05}}, {"call": {"outcome": "passed", "duration": 0.0016759590000106073}, "setup": {"outcome": "passed", "duration": 0.00019220800004404737}, "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.00030087500005038237}}, {"call": {"outcome": "passed", "duration": 0.0033721670000090853}, "setup": {"outcome": "passed", "duration": 0.0007796670000175254}, "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.00013183400000116308}}, {"call": {"outcome": "passed", "duration": 0.001459749999980886}, "setup": {"outcome": "passed", "duration": 0.0002835829999980888}, "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.00012091700000382843}}, {"call": {"outcome": "passed", "duration": 0.0008587080000097558}, "setup": {"outcome": "passed", "duration": 0.00031954100001030383}, "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.0001197079999997186}}, {"call": {"outcome": "passed", "duration": 0.0008245829999964371}, "setup": {"outcome": "passed", "duration": 0.0003116249999948195}, "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.00015483399999993708}}, {"call": {"outcome": "passed", "duration": 0.0014377919999901678}, "setup": {"outcome": "passed", "duration": 0.000828124999998181}, "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.0040672090000271055}}, {"call": {"outcome": "passed", "duration": 0.00136741700003995}, "setup": {"outcome": "passed", "duration": 0.0008060000000114087}, "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.00012279099996703735}}, {"call": {"outcome": "passed", "duration": 0.0014676670000426384}, "setup": {"outcome": "passed", "duration": 0.000261791000014}, "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.00035320900002489}}, {"call": {"outcome": "passed", "duration": 0.0014349160000506345}, "setup": {"outcome": "passed", "duration": 0.0004428329999655034}, "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.00042937500001016815}}, {"call": {"outcome": "passed", "duration": 0.0018915419999530059}, "setup": {"outcome": "passed", "duration": 0.0008881250000172258}, "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.0004757500000209802}}, {"call": {"outcome": "passed", "duration": 0.0010902919999580263}, "setup": {"outcome": "passed", "duration": 0.00082587499997544}, "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.0003684170000042286}}, {"call": {"outcome": "passed", "duration": 0.000713207999979204}, "setup": {"outcome": "passed", "duration": 0.0007831249999981083}, "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.00012024999995219332}}, {"call": {"outcome": "passed", "duration": 0.0004137079999964044}, "setup": {"outcome": "passed", "duration": 0.0002957909999850017}, "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": 9.574999995720646e-05}}, {"call": {"outcome": "passed", "duration": 0.0003401669999902879}, "setup": {"outcome": "passed", "duration": 0.0002119160000120246}, "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": 9.220899994488718e-05}}, {"call": {"outcome": "passed", "duration": 0.00046562500000391083}, "setup": {"outcome": "passed", "duration": 0.00045062499998493877}, "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.00010633300001927637}}, {"call": {"outcome": "passed", "duration": 0.0010240830000043388}, "setup": {"outcome": "passed", "duration": 0.000704624999968928}, "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.0004258749999621614}}, {"call": {"outcome": "passed", "duration": 0.0007306250000169712}, "setup": {"outcome": "passed", "duration": 0.00028637500003014793}, "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.00014366699997481192}}, {"call": {"outcome": "passed", "duration": 0.0005739160000075572}, "setup": {"outcome": "passed", "duration": 0.000253333000046041}, "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.00012604200003352162}}, {"call": {"outcome": "passed", "duration": 0.000485165999975834}, "setup": {"outcome": "passed", "duration": 0.00022816700004568702}, "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.00011699999998882049}}, {"call": {"outcome": "passed", "duration": 0.001992874999984906}, "setup": {"outcome": "passed", "duration": 0.00037166700002444486}, "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.0002601669999648948}}, {"call": {"outcome": "passed", "duration": 0.0005803750000268337}, "setup": {"outcome": "passed", "duration": 0.0003561250000529981}, "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.00010941600004343854}}, {"call": {"outcome": "passed", "duration": 0.0007867499999747452}, "setup": {"outcome": "passed", "duration": 0.00025645799996709684}, "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.00012508300000035888}}, {"call": {"outcome": "passed", "duration": 0.0012419589999694836}, "setup": {"outcome": "passed", "duration": 0.00025420899999062385}, "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.00026929199998448894}}, {"call": {"outcome": "passed", "duration": 0.0004995000000462824}, "setup": {"outcome": "passed", "duration": 0.00041562499995961844}, "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.00011575000002039815}}, {"call": {"outcome": "passed", "duration": 0.0003619169999637961}, "setup": {"outcome": "passed", "duration": 0.0002234169999724145}, "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.00020833400003539282}}, {"call": {"outcome": "passed", "duration": 0.0003967910000142183}, "setup": {"outcome": "passed", "duration": 0.0002200410000341435}, "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.00011462499998060593}}, {"call": {"outcome": "passed", "duration": 0.0004840409999928852}, "setup": {"outcome": "passed", "duration": 0.00022445899998047025}, "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": 9.762500002352681e-05}}, {"call": {"outcome": "passed", "duration": 0.0004754589999720338}, "setup": {"outcome": "passed", "duration": 0.00022820800000999952}, "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.00014416599998412494}}, {"call": {"outcome": "passed", "duration": 0.0009210000000052787}, "setup": {"outcome": "passed", "duration": 0.00021320799999102746}, "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.0003442500000119253}}, {"call": {"outcome": "passed", "duration": 0.0004930000000058499}, "setup": {"outcome": "passed", "duration": 0.00025370899999188623}, "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": 9.954199998674085e-05}}, {"call": {"outcome": "passed", "duration": 0.00039483300002984834}, "setup": {"outcome": "passed", "duration": 0.00023679200000970013}, "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": 9.991700000000492e-05}}, {"call": {"outcome": "passed", "duration": 0.0003223749999961001}, "setup": {"outcome": "passed", "duration": 0.00026212500000610817}, "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": 9.099999999762076e-05}}, {"call": {"outcome": "passed", "duration": 0.00037508299999444716}, "setup": {"outcome": "passed", "duration": 0.0001997499999788488}, "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.00010108300000410964}}, {"call": {"outcome": "passed", "duration": 0.0006875420000369559}, "setup": {"outcome": "passed", "duration": 0.0008495420000258491}, "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.00011299999999891952}}, {"call": {"outcome": "passed", "duration": 0.000378750000038508}, "setup": {"outcome": "passed", "duration": 0.00024066700001412755}, "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": 9.529199996904936e-05}}, {"call": {"outcome": "passed", "duration": 0.0007491250000271066}, "setup": {"outcome": "passed", "duration": 0.00032745900000463735}, "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.0003702499999462816}}, {"call": {"outcome": "passed", "duration": 0.0007857499999772699}, "setup": {"outcome": "passed", "duration": 0.0005933340000296994}, "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.00011445800004139528}}, {"call": {"outcome": "passed", "duration": 0.0009076250000248365}, "setup": {"outcome": "passed", "duration": 0.0006527500000288455}, "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.00022891699995852832}}, {"call": {"outcome": "passed", "duration": 0.0007628330000102324}, "setup": {"outcome": "passed", "duration": 0.0005283750000444343}, "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.00011979200002087964}}, {"call": {"outcome": "passed", "duration": 0.001317374999985077}, "setup": {"outcome": "passed", "duration": 0.00023908299999675364}, "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.0003285419999770056}}, {"call": {"outcome": "passed", "duration": 0.0007244170000149097}, "setup": {"outcome": "passed", "duration": 0.0003453749999948741}, "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.00031849999999167267}}, {"call": {"outcome": "passed", "duration": 0.002467707999983304}, "setup": {"outcome": "passed", "duration": 0.00026383300001953103}, "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.00012675000004946924}}, {"call": {"outcome": "passed", "duration": 0.0007461659999989934}, "setup": {"outcome": "passed", "duration": 0.0002601250000111577}, "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.0003474170000004051}}, {"call": {"outcome": "passed", "duration": 0.0006246670000109589}, "setup": {"outcome": "passed", "duration": 0.00025754099999630853}, "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.00016062499997815394}}, {"call": {"outcome": "passed", "duration": 0.0007697090000533535}, "setup": {"outcome": "passed", "duration": 0.0005722090000404023}, "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.00013062499999705324}}, {"call": {"outcome": "passed", "duration": 0.0004539159999694675}, "setup": {"outcome": "passed", "duration": 0.0003288750000365326}, "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.00011337500001218359}}, {"call": {"outcome": "passed", "duration": 0.0008239999999659631}, "setup": {"outcome": "passed", "duration": 0.000238708000040333}, "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.0003796659999579788}}, {"call": {"outcome": "passed", "duration": 0.0012927919999583537}, "setup": {"outcome": "passed", "duration": 0.0008023749999779284}, "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.000360041000021738}}, {"call": {"outcome": "passed", "duration": 0.000497542000005069}, "setup": {"outcome": "passed", "duration": 0.0008526249999931679}, "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.00011379199997918477}}, {"call": {"outcome": "passed", "duration": 0.0007459579999817834}, "setup": {"outcome": "passed", "duration": 0.0004504999999994652}, "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.00030900000001565786}}, {"call": {"outcome": "passed", "duration": 0.0008588750000058099}, "setup": {"outcome": "passed", "duration": 0.00024404199996297393}, "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.00035674999998036583}}, {"call": {"outcome": "passed", "duration": 0.0007605830000443348}, "setup": {"outcome": "passed", "duration": 0.0003616250000391119}, "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.00014391600001317784}}, {"call": {"outcome": "passed", "duration": 0.0007370420000256672}, "setup": {"outcome": "passed", "duration": 0.00024300000001176159}, "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.0001454160000093907}}, {"call": {"outcome": "passed", "duration": 0.0010525420000249142}, "setup": {"outcome": "passed", "duration": 0.0007075419999864607}, "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.00015587500001856824}}, {"call": {"outcome": "passed", "duration": 0.000516833000006045}, "setup": {"outcome": "passed", "duration": 0.00024400000000923683}, "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.00011879099997713638}}, {"call": {"outcome": "passed", "duration": 0.0004595419999873229}, "setup": {"outcome": "passed", "duration": 0.0006917079999766429}, "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.00010808300004327975}}, {"call": {"outcome": "passed", "duration": 0.0011430409999775293}, "setup": {"outcome": "passed", "duration": 0.0008290839999745003}, "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.00012304199998425247}}, {"call": {"outcome": "passed", "duration": 0.0006930000000124892}, "setup": {"outcome": "passed", "duration": 0.00025333399997862216}, "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.000140458000032595}}, {"call": {"outcome": "passed", "duration": 0.0007388749999677202}, "setup": {"outcome": "passed", "duration": 0.00024274999998397107}, "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.00045687499999758074}}, {"call": {"outcome": "passed", "duration": 0.0009583329999713897}, "setup": {"outcome": "passed", "duration": 0.0005634170000234917}, "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.00011574999996355473}}, {"call": {"outcome": "passed", "duration": 0.0003771659999642907}, "setup": {"outcome": "passed", "duration": 0.00024200000001428634}, "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.000106625000000804}}, {"call": {"outcome": "passed", "duration": 0.0005887500000198997}, "setup": {"outcome": "passed", "duration": 0.00022920800000747477}, "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.00038270799996098503}}, {"call": {"outcome": "passed", "duration": 0.000715291000005891}, "setup": {"outcome": "passed", "duration": 0.0002917090000096323}, "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.00026887499996064435}}, {"call": {"outcome": "passed", "duration": 0.0004667499999868596}, "setup": {"outcome": "passed", "duration": 0.0002319580000289534}, "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.00012249999997493433}}, {"call": {"outcome": "passed", "duration": 0.0006813749999992069}, "setup": {"outcome": "passed", "duration": 0.0002222500000357286}, "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": 9.391600002572886e-05}}, {"call": {"outcome": "passed", "duration": 0.0009299590000182434}, "setup": {"outcome": "passed", "duration": 0.00024495899998555615}, "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.00010674999998627754}}, {"call": {"outcome": "passed", "duration": 0.0005372080000256574}, "setup": {"outcome": "passed", "duration": 0.0008524170000328013}, "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.0001190419999943515}}, {"call": {"outcome": "passed", "duration": 0.0012873750000039763}, "setup": {"outcome": "passed", "duration": 0.0008625830000141832}, "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.00016420900004732175}}, {"call": {"outcome": "passed", "duration": 0.0007565420000332779}, "setup": {"outcome": "passed", "duration": 0.00037083399996618027}, "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.0004336249999710162}}, {"call": {"outcome": "passed", "duration": 0.0004629160000035881}, "setup": {"outcome": "passed", "duration": 0.0006483749999688371}, "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.00010412500000711589}}, {"call": {"outcome": "passed", "duration": 0.0007935410000072807}, "setup": {"outcome": "passed", "duration": 0.00023124999995616236}, "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.0002784590000146636}}, {"call": {"outcome": "passed", "duration": 0.0010050829999954658}, "setup": {"outcome": "passed", "duration": 0.00047491599997329104}, "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.00010991699997475735}}, {"call": {"outcome": "passed", "duration": 0.0007620829999837042}, "setup": {"outcome": "passed", "duration": 0.0004317919999721198}, "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.00038316699999541015}}, {"call": {"outcome": "passed", "duration": 0.0004925419999608494}, "setup": {"outcome": "passed", "duration": 0.0003848340000445205}, "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.0001030419999779042}}, {"call": {"outcome": "passed", "duration": 0.0004616660000351658}, "setup": {"outcome": "passed", "duration": 0.00048483399996257504}, "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.00010883400000238908}}, {"call": {"outcome": "passed", "duration": 0.0007835420000219528}, "setup": {"outcome": "passed", "duration": 0.00026412500000105865}, "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.00040412499998865314}}, {"call": {"outcome": "passed", "duration": 0.0007885829999736416}, "setup": {"outcome": "passed", "duration": 0.0006446250000067266}, "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.0005085000000235596}}, {"call": {"outcome": "passed", "duration": 0.0004563749999988431}, "setup": {"outcome": "passed", "duration": 0.0003092910000077609}, "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.0001025830000003225}}, {"call": {"outcome": "passed", "duration": 0.0005419590000315111}, "setup": {"outcome": "passed", "duration": 0.0005663329999947564}, "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.0001334589999828495}}, {"call": {"outcome": "passed", "duration": 0.00039866700001311983}, "setup": {"outcome": "passed", "duration": 0.00025962500001242006}, "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.00011599999999134525}}, {"call": {"outcome": "passed", "duration": 0.0008126669999910519}, "setup": {"outcome": "passed", "duration": 0.00022016700000904166}, "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.00032458399999768517}}, {"call": {"outcome": "passed", "duration": 0.001149959000031231}, "setup": {"outcome": "passed", "duration": 0.0006840409999995245}, "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.0001702089999753298}}, {"call": {"outcome": "passed", "duration": 0.0005512500000008913}, "setup": {"outcome": "passed", "duration": 0.0002601670000217382}, "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.00010816700000759738}}, {"call": {"outcome": "passed", "duration": 0.000652207999962684}, "setup": {"outcome": "passed", "duration": 0.00046662500000138607}, "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.00046141699999679986}}, {"call": {"outcome": "passed", "duration": 0.0006970829999772832}, "setup": {"outcome": "passed", "duration": 0.00037441699998908007}, "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.0001479169999925034}}, {"call": {"outcome": "passed", "duration": 0.00022699999999531428}, "setup": {"outcome": "passed", "duration": 0.00022491700002547077}, "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": 9.166600000298786e-05}}, {"call": {"outcome": "passed", "duration": 0.00017379199999822958}, "setup": {"outcome": "passed", "duration": 0.0001767919999906553}, "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": 9.341599997014782e-05}}, {"call": {"outcome": "passed", "duration": 0.00018183299999918745}, "setup": {"outcome": "passed", "duration": 0.0001963330000194219}, "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": 8.724999997866689e-05}}, {"call": {"outcome": "passed", "duration": 0.00018658300001561656}, "setup": {"outcome": "passed", "duration": 0.000157125000043834}, "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": 9.012499998561907e-05}}, {"call": {"outcome": "passed", "duration": 0.0008208340000237513}, "setup": {"outcome": "passed", "duration": 0.0006050829999821872}, "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.00031304200001613935}}, {"call": {"outcome": "passed", "duration": 0.0006737909999969816}, "setup": {"outcome": "passed", "duration": 0.0005849159999797848}, "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.00025608299995383277}}, {"call": {"outcome": "passed", "duration": 0.0005248749999964275}, "setup": {"outcome": "passed", "duration": 0.000292584000021634}, "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.00011562499997808118}}, {"call": {"outcome": "passed", "duration": 0.00017837500001860462}, "setup": {"outcome": "passed", "duration": 0.00019833300001437237}, "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": 8.745799999587689e-05}}, {"call": {"outcome": "passed", "duration": 0.00019174999999904685}, "setup": {"outcome": "passed", "duration": 0.00016700000003311288}, "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.0001912089999791533}}, {"call": {"outcome": "passed", "duration": 0.0005840000000034706}, "setup": {"outcome": "passed", "duration": 0.00015795899997783636}, "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": 9.708300001420866e-05}}, {"call": {"outcome": "passed", "duration": 0.00019858299998531947}, "setup": {"outcome": "passed", "duration": 0.00016845900000816982}, "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": 9.166699999241246e-05}}, {"call": {"outcome": "passed", "duration": 0.000242582999987917}, "setup": {"outcome": "passed", "duration": 0.00017975000002934394}, "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.00016791699999885168}}, {"call": {"outcome": "passed", "duration": 0.00015708399996583466}, "setup": {"outcome": "passed", "duration": 0.00020150000000285218}, "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": 8.695799999713927e-05}}, {"call": {"outcome": "passed", "duration": 0.0001943749999782085}, "setup": {"outcome": "passed", "duration": 0.00017087499998069688}, "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": 8.241599999792015e-05}}, {"call": {"outcome": "passed", "duration": 0.00022054100003288113}, "setup": {"outcome": "passed", "duration": 0.0001499169999874539}, "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.00017479199999570483}}, {"call": {"outcome": "passed", "duration": 0.0016554580000160968}, "setup": {"outcome": "passed", "duration": 0.0002078750000009677}, "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.0002747909999811782}}, {"call": {"outcome": "passed", "duration": 0.002436957999975675}, "setup": {"outcome": "passed", "duration": 0.00028466599997045705}, "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.00033466700000417404}}, {"call": {"outcome": "passed", "duration": 0.0114788330000124}, "setup": {"outcome": "passed", "duration": 0.00022579099999120444}, "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.00012920900002200142}}, {"call": {"outcome": "passed", "duration": 0.0009499170000140111}, "setup": {"outcome": "passed", "duration": 0.0002017919999843798}, "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.00011470900000176698}}, {"call": {"outcome": "passed", "duration": 0.0004906660000187912}, "setup": {"outcome": "passed", "duration": 0.00017195800000990857}, "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.000523000000043794}}, {"call": {"outcome": "passed", "duration": 0.00020975000001044464}, "setup": {"outcome": "passed", "duration": 0.0003930000000309519}, "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": 9.304100001372717e-05}}, {"call": {"outcome": "passed", "duration": 0.007508332999975664}, "setup": {"outcome": "passed", "duration": 0.00024945900003103816}, "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.00015158399997972083}}, {"call": {"outcome": "passed", "duration": 0.0002479579999885573}, "setup": {"outcome": "passed", "duration": 0.0002561250000212567}, "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": 9.841700000379205e-05}}, {"call": {"outcome": "passed", "duration": 0.0005969170000525992}, "setup": {"outcome": "passed", "duration": 0.0002294999999890024}, "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.00045125000002599336}}, {"call": {"outcome": "passed", "duration": 0.00017479199999570483}, "setup": {"outcome": "passed", "duration": 0.0002349170000002232}, "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.0007532500000024811}}, {"call": {"outcome": "passed", "duration": 0.0013996669999869482}, "setup": {"outcome": "passed", "duration": 0.00053312500000402}, "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.00016487499999584543}}, {"call": {"outcome": "passed", "duration": 0.0010243749999858665}, "setup": {"outcome": "passed", "duration": 0.00022504100002151972}, "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": 9.845800002494798e-05}}, {"call": {"outcome": "passed", "duration": 0.0003660840000065946}, "setup": {"outcome": "passed", "duration": 0.00019083399996588923}, "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.00010287499998185012}}, {"call": {"outcome": "passed", "duration": 0.00023587500004396134}, "setup": {"outcome": "passed", "duration": 0.00016058300002441683}, "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": 8.187500003487003e-05}}, {"call": {"outcome": "passed", "duration": 0.0002182499999889842}, "setup": {"outcome": "passed", "duration": 0.00015395799999851079}, "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": 8.945799999082737e-05}}, {"call": {"outcome": "passed", "duration": 0.00018316699998877084}, "setup": {"outcome": "passed", "duration": 0.00017095800001243333}, "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": 7.98329999724956e-05}}, {"call": {"outcome": "passed", "duration": 0.00021075000000791988}, "setup": {"outcome": "passed", "duration": 0.00014941699998871627}, "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": 7.704199998670447e-05}}, {"call": {"outcome": "passed", "duration": 0.0002894579999974667}, "setup": {"outcome": "passed", "duration": 0.00014950000002045272}, "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.0004660000000171749}}, {"call": {"outcome": "passed", "duration": 0.0008206250000171167}, "setup": {"outcome": "passed", "duration": 0.000788375000013275}, "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.00041241700000682613}}, {"call": {"outcome": "passed", "duration": 0.00084654199997658}, "setup": {"outcome": "passed", "duration": 0.0007653330000039205}, "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.0001715829999966445}}, {"call": {"outcome": "passed", "duration": 0.0003882080000039423}, "setup": {"outcome": "passed", "duration": 0.00022425000003067908}, "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": 8.962500004372487e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005415083000002596, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_misc.py\", line 270, in test_entry_point_buffer\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00016150000004699905}, "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.00017729099999996834}}, {"call": {"outcome": "passed", "duration": 0.0006193339999640557}, "setup": {"outcome": "passed", "duration": 0.0015109579999830203}, "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.00010429100001374536}}, {"call": {"outcome": "passed", "duration": 0.00015387499996677434}, "setup": {"outcome": "passed", "duration": 0.00018745800002761825}, "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": 8.416600002192354e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029203750000306172, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 21, in test_identical_traces\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0001963750000300024}, "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.003138125000020864}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003170207999971808, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 31, in test_slightly_modified_data\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023854200003370352}, "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.0005976659999760159}}, {"call": {"outcome": "passed", "duration": 0.0003914170000030026}, "setup": {"outcome": "passed", "duration": 0.0005985420000342856}, "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": 9.825000000773798e-05}}, {"call": {"outcome": "passed", "duration": 0.000353791000009096}, "setup": {"outcome": "passed", "duration": 0.00018249999999397915}, "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": 9.054199995262024e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004017332999978862, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 58, in test_processing\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007320830000026035}, "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.00032520799999247174}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0030500409999945077, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 71, in test_nan\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002344999999763786}, "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.0007200000000011642}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003502749999995558, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 80, in test_unequal_trace_lengths\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030670800003917975}, "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.0009405829999877824}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003636916999994355, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 88, in test_not_a_trace\n    tr1 = read()[0]\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002535830000169881}, "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.00013837500000590808}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004663250000021435, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 99, in test_stream_almost_equal\n    st1, st2 = read(), read()\n               ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00026366700001290155}, "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.0007643749999601823}}, {"call": {"outcome": "passed", "duration": 0.0013929579999967245}, "setup": {"outcome": "passed", "duration": 0.0008820829999649504}, "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.00015087500003119203}}, {"call": {"outcome": "passed", "duration": 0.0012603339999941454}, "setup": {"outcome": "passed", "duration": 0.00022874999996247425}, "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.00035066600003119675}}, {"call": {"outcome": "passed", "duration": 0.0004904580000015812}, "setup": {"outcome": "passed", "duration": 0.0002583749999871543}, "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.00010291699999243065}}, {"call": {"outcome": "passed", "duration": 0.001424416000020301}, "setup": {"outcome": "passed", "duration": 0.00017400000001543958}, "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.00017104099998732636}}, {"call": {"outcome": "passed", "duration": 0.7954920409999886}, "setup": {"outcome": "passed", "duration": 0.0006927090000203862}, "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.0001283329999637317}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.41122095800000125, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 109, in test_read_and_write\n    st = read(outfile)\n         ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020462499998075145}, "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.0001889579999669877}}, {"call": {"outcome": "passed", "duration": 1.4184012909999524}, "setup": {"outcome": "passed", "duration": 0.0005769159999999829}, "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.00035700000000815635}}, {"call": {"outcome": "passed", "duration": 3.4309960409999576}, "setup": {"outcome": "passed", "duration": 0.00025349999998525163}, "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.00042308399997637025}}, {"call": {"outcome": "passed", "duration": 0.7772913750000043}, "setup": {"outcome": "passed", "duration": 0.0005448340000384633}, "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.00018199999999524152}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019374999999968168, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 397, in test_read_gzip2_file\n    st1 = read(ascii_path / 'tspair.ascii.gz')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035541699998020704}, "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.0001796669999976075}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003766750000011143, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 405, in test_read_bzip2_file\n    st1 = read(ascii_path / 'slist.ascii.bz2')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002610420000337399}, "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.00018608400000630354}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012291250000089349, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 414, in test_read_tar_archive\n    st1 = read(datapath / \"test.tar\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033450000000811997}, "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.0004684580000002825}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012790000000109103, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 434, in test_read_zip_archive\n    st1 = read(datapath / 'test.zip')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003039169999965452}, "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.0001470000000267646}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008127500000227883, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 448, in test_raise_on_unknown_format\n    read(tmpfile)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002058330000522801}, "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.00015858400001889095}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.6994791669999927, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 464, in test_deepcopy\n    stream_orig = read()\n                  ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043454199999359844}, "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.0001842499999611391}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.40584845800003677, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 509, in test_auto_file_format_during_writing\n    stream_trace = [read(), read()[0]]\n                    ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020645900002591588}, "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.000192500000025575}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024939580000022943, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 556, in test_reading_tarfile_impostor\n    st = read(\"/path/to/tarfile_impostor.mseed\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023754099998996026}, "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.0005707919999622391}}, {"call": {"outcome": "passed", "duration": 0.01097745900000291}, "setup": {"outcome": "passed", "duration": 0.00030241700000033234}, "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.0001684589999513264}}, {"call": {"outcome": "passed", "duration": 0.003500916000007237}, "setup": {"outcome": "passed", "duration": 0.0009519170000089616}, "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.00011337499995534017}}, {"call": {"outcome": "passed", "duration": 0.002253333999988172}, "setup": {"outcome": "passed", "duration": 0.00022541599997794037}, "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.00012579199994888768}}, {"call": {"outcome": "failed", "duration": 0.004573375000006763, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__mod__[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:578: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002200829999878806}, "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.0001287499999875763}}, {"call": {"outcome": "failed", "duration": 0.005636459000015748, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__mul__[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:509: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00021354200003997903}, "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.0001357080000161659}}, {"call": {"outcome": "passed", "duration": 0.0027092079999988528}, "setup": {"outcome": "passed", "duration": 0.0002101249999668653}, "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.00012329099996577497}}, {"call": {"outcome": "failed", "duration": 0.0051841250000279615, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__truediv__[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:534: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031125000003839887}, "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.00021362500001487206}}, {"call": {"outcome": "passed", "duration": 0.002783708000038132}, "setup": {"outcome": "passed", "duration": 0.0006762080000157766}, "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.0003916250000202126}}, {"call": {"outcome": "passed", "duration": 0.0022314999999935026}, "setup": {"outcome": "passed", "duration": 0.00022616600000446851}, "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.00010941700003286314}}, {"call": {"outcome": "passed", "duration": 0.002074750000019776}, "setup": {"outcome": "passed", "duration": 0.0003367919999845981}, "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.00011399999999639476}}, {"call": {"outcome": "passed", "duration": 0.0023558329999673333}, "setup": {"outcome": "passed", "duration": 0.00022066699995093586}, "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.00010900000000901855}}, {"call": {"outcome": "failed", "duration": 0.0056311669999900005, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.detrend[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2034: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00022495799998978327}, "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.00013387500001726949}}, {"call": {"outcome": "failed", "duration": 0.006987291000029927, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.filter[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1536: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00021262500001739681}, "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.00016737499998953353}}, {"call": {"outcome": "passed", "duration": 0.002620540999998866}, "setup": {"outcome": "passed", "duration": 0.0012391669999942678}, "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.00012016600004471911}}, {"call": {"outcome": "passed", "duration": 0.0018733330000486603}, "setup": {"outcome": "passed", "duration": 0.00022520899995015498}, "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.00011054199995896852}}, {"call": {"outcome": "failed", "duration": 0.00498637499998722, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.interpolate[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2452: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006028339999488708}, "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.00016304199999694902}}, {"call": {"outcome": "passed", "duration": 0.00460125000000744}, "setup": {"outcome": "passed", "duration": 0.00023162499996942643}, "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.0001363340000466451}}, {"call": {"outcome": "passed", "duration": 0.0029841250000117725}, "setup": {"outcome": "passed", "duration": 0.00025191700001414574}, "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.00016629099997089725}}, {"call": {"outcome": "failed", "duration": 0.007468249999988075, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.plot[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:927: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00021812500000351065}, "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.00014870899997276865}}, {"call": {"outcome": "failed", "duration": 0.011745791999999255, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.remove_response[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2740: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002202919999945152}, "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.00025391700000909623}}, {"call": {"outcome": "failed", "duration": 0.005321124999966287, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.remove_sensitivity[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:3013: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008662500000014006}, "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.00012183300003698605}}, {"call": {"outcome": "passed", "duration": 0.0024844999999800166}, "setup": {"outcome": "passed", "duration": 0.00019829100000379185}, "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.00010049999997363557}}, {"call": {"outcome": "failed", "duration": 0.0046781659999624026, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.simulate[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1412: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0001850830000194037}, "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.0004549579999775233}}, {"call": {"outcome": "passed", "duration": 0.009740374999978485}, "setup": {"outcome": "passed", "duration": 0.0004275000000006912}, "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.000127584000040315}}, {"call": {"outcome": "failed", "duration": 0.005917749999980515, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.slide[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1254: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00021662500000729779}, "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.0001738330000193855}}, {"call": {"outcome": "failed", "duration": 0.010022124999977677, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.spectrogram[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:952: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003410840000128701}, "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.0001303330000155256}}, {"call": {"outcome": "passed", "duration": 0.005199833000006038}, "setup": {"outcome": "passed", "duration": 0.0001997499999788488}, "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.00014595900000813344}}, {"call": {"outcome": "failed", "duration": 0.006722874999979922, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.times[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2551: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00021829199999956472}, "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.00015045799995050402}}, {"call": {"outcome": "failed", "duration": 0.0067603749999989304, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.trigger[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1624: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00023883299996896312}, "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.0001659160000144766}}, {"call": {"outcome": "passed", "duration": 0.0036642499999857137}, "setup": {"outcome": "passed", "duration": 0.0002364999999713291}, "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.00012641699998994227}}, {"call": {"outcome": "passed", "duration": 0.0024175419999892256}, "setup": {"outcome": "passed", "duration": 0.00021774999999024658}, "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.0001228749999881984}}, {"call": {"outcome": "passed", "duration": 0.003529374999970969}, "setup": {"outcome": "passed", "duration": 0.00022262499999214924}, "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.0001477079999858688}}, {"call": {"outcome": "passed", "duration": 0.008030874999974458}, "setup": {"outcome": "passed", "duration": 0.0008129170000188424}, "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.00013987500000212094}}, {"call": {"outcome": "passed", "duration": 0.0023224999999911233}, "setup": {"outcome": "passed", "duration": 0.0002538339999773598}, "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.00013587500001221997}}, {"call": {"outcome": "passed", "duration": 0.0036871670000095946}, "setup": {"outcome": "passed", "duration": 0.00023720900003354473}, "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.0001323749999642132}}, {"call": {"outcome": "passed", "duration": 0.0036848340000119606}, "setup": {"outcome": "passed", "duration": 0.0008142500000190012}, "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.00012883300001931275}}, {"call": {"outcome": "passed", "duration": 0.002090291999991223}, "setup": {"outcome": "passed", "duration": 0.00021741699998756303}, "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.0001379580000389069}}, {"call": {"outcome": "passed", "duration": 0.003626040999961333}, "setup": {"outcome": "passed", "duration": 0.0009051250000311484}, "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.00023450000003322202}}, {"call": {"outcome": "passed", "duration": 0.003948083000011593}, "setup": {"outcome": "passed", "duration": 0.00039170899998453024}, "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.00013812499997811756}}, {"call": {"outcome": "passed", "duration": 0.0034137499999928878}, "setup": {"outcome": "passed", "duration": 0.0007514170000035847}, "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.0004502080000179376}}, {"call": {"outcome": "passed", "duration": 0.002438999999981206}, "setup": {"outcome": "passed", "duration": 0.00027816699997629257}, "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.00013762500003622335}}, {"call": {"outcome": "passed", "duration": 0.003331584000022758}, "setup": {"outcome": "passed", "duration": 0.00023891699999012417}, "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.0001287080000338392}}, {"call": {"outcome": "passed", "duration": 0.0020729999999957727}, "setup": {"outcome": "passed", "duration": 0.000225707999959468}, "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.0001264590000005228}}, {"call": {"outcome": "passed", "duration": 0.0022584999999821775}, "setup": {"outcome": "passed", "duration": 0.0003681659999870135}, "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.00014212500002486195}}, {"call": {"outcome": "passed", "duration": 0.0019395410000129232}, "setup": {"outcome": "passed", "duration": 0.00022679199997810429}, "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.00011145799999212613}}, {"call": {"outcome": "passed", "duration": 0.002672291999999743}, "setup": {"outcome": "passed", "duration": 0.00021412499995676626}, "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.00042304199996578973}}, {"call": {"outcome": "passed", "duration": 0.0025483329999929083}, "setup": {"outcome": "passed", "duration": 0.00026412500000105865}, "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.00013316700000132187}}, {"call": {"outcome": "passed", "duration": 0.002357916999983445}, "setup": {"outcome": "passed", "duration": 0.00022987500000226646}, "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.0001274169999874175}}, {"call": {"outcome": "passed", "duration": 0.004292790999954832}, "setup": {"outcome": "passed", "duration": 0.0002554159999590411}, "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.00046524999999064676}}, {"call": {"outcome": "passed", "duration": 0.0023917920000258164}, "setup": {"outcome": "passed", "duration": 0.0003900830000134192}, "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.00013037500002610614}}, {"call": {"outcome": "passed", "duration": 0.003135666999980913}, "setup": {"outcome": "passed", "duration": 0.00021825000004582762}, "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.00013916699998617332}}, {"call": {"outcome": "passed", "duration": 0.0022335830000201895}, "setup": {"outcome": "passed", "duration": 0.0004964160000326956}, "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.00013649999999643114}}, {"call": {"outcome": "passed", "duration": 0.002324833000045601}, "setup": {"outcome": "passed", "duration": 0.0002437090000171338}, "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.00012862500000210275}}, {"call": {"outcome": "passed", "duration": 0.002092457999992803}, "setup": {"outcome": "passed", "duration": 0.0002509170000166705}, "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.0001246660000333577}}, {"call": {"outcome": "passed", "duration": 0.0029986659999963194}, "setup": {"outcome": "passed", "duration": 0.0008467920000043705}, "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.00046412500000769796}}, {"call": {"outcome": "passed", "duration": 0.00307316699996818}, "setup": {"outcome": "passed", "duration": 0.00026750000000674845}, "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.00042212500000005093}}, {"call": {"outcome": "passed", "duration": 0.004814875000022312}, "setup": {"outcome": "passed", "duration": 0.0003300840000406424}, "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.000225915999976678}}, {"call": {"outcome": "passed", "duration": 0.0019996249999962856}, "setup": {"outcome": "passed", "duration": 0.0002537920000236227}, "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.00010941700003286314}}, {"call": {"outcome": "passed", "duration": 0.0019636250000303335}, "setup": {"outcome": "passed", "duration": 0.00021745800000871895}, "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.0004074579999837624}}, {"call": {"outcome": "passed", "duration": 0.0022455419999687365}, "setup": {"outcome": "passed", "duration": 0.0002651249999985339}, "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.00042775000002848174}}, {"call": {"outcome": "passed", "duration": 0.0021685830000137685}, "setup": {"outcome": "passed", "duration": 0.0002475829999752932}, "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.00012079099997208687}}, {"call": {"outcome": "passed", "duration": 0.0021541250000041146}, "setup": {"outcome": "passed", "duration": 0.0002288339999836353}, "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.0001179170000114027}}, {"call": {"outcome": "passed", "duration": 0.003900500000042939}, "setup": {"outcome": "passed", "duration": 0.0008500000000140062}, "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.00015158299999029623}}, {"call": {"outcome": "passed", "duration": 0.0025924579999809794}, "setup": {"outcome": "passed", "duration": 0.00023491599995395518}, "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.00013766600000053586}}, {"call": {"outcome": "passed", "duration": 0.0018750830000158203}, "setup": {"outcome": "passed", "duration": 0.0002031669999951191}, "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.00010641700004043742}}, {"call": {"outcome": "passed", "duration": 0.0020787920000202575}, "setup": {"outcome": "passed", "duration": 0.0002009169999723781}, "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.0001221670000290942}}, {"call": {"outcome": "passed", "duration": 0.0020218330000147944}, "setup": {"outcome": "passed", "duration": 0.0002198340000063581}, "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.00027987499998971543}}, {"call": {"outcome": "passed", "duration": 0.0028687919999583755}, "setup": {"outcome": "passed", "duration": 0.00023554099999500977}, "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.0001407080000035421}}, {"call": {"outcome": "passed", "duration": 0.0032924159999652147}, "setup": {"outcome": "passed", "duration": 0.00024945799998477014}, "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.00014533299997765425}}, {"call": {"outcome": "passed", "duration": 0.0033234580000112146}, "setup": {"outcome": "passed", "duration": 0.00022370800002136093}, "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.000363624999977219}}, {"call": {"outcome": "passed", "duration": 0.0022012920000520353}, "setup": {"outcome": "passed", "duration": 0.00027045899997801826}, "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.00013508400002137932}}, {"call": {"outcome": "passed", "duration": 0.002087875000029271}, "setup": {"outcome": "passed", "duration": 0.0003363750000175969}, "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.00013445900003716815}}, {"call": {"outcome": "passed", "duration": 0.004421667000030993}, "setup": {"outcome": "passed", "duration": 0.00022941699995726594}, "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.00013387499996042607}}, {"call": {"outcome": "passed", "duration": 0.0019588339999927484}, "setup": {"outcome": "passed", "duration": 0.00022333399999752146}, "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.00011362500003997411}}, {"call": {"outcome": "passed", "duration": 0.004656042000021898}, "setup": {"outcome": "passed", "duration": 0.0009309160000157135}, "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.00014208300001428142}}, {"call": {"outcome": "passed", "duration": 0.002039041999978508}, "setup": {"outcome": "passed", "duration": 0.0005842080000206806}, "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.00011304200000950004}}, {"call": {"outcome": "passed", "duration": 0.00290045900004543}, "setup": {"outcome": "passed", "duration": 0.0002374169999939113}, "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.00012791599999673053}}, {"call": {"outcome": "passed", "duration": 0.0019433329999856142}, "setup": {"outcome": "passed", "duration": 0.00022487499995804683}, "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.00012550000002420347}}, {"call": {"outcome": "passed", "duration": 0.0039502500000025975}, "setup": {"outcome": "passed", "duration": 0.00024645800004918783}, "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.0001346249999869542}}, {"call": {"outcome": "passed", "duration": 0.0030162500000301407}, "setup": {"outcome": "passed", "duration": 0.00044987500001525405}, "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.00017624999998133717}}, {"call": {"outcome": "passed", "duration": 0.005763583000032213}, "setup": {"outcome": "passed", "duration": 0.0008064159999889853}, "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.0001332500000330583}}, {"call": {"outcome": "passed", "duration": 0.004388500000004569}, "setup": {"outcome": "passed", "duration": 0.00023970799998096481}, "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.0001303330000155256}}, {"call": {"outcome": "passed", "duration": 0.0017728750000287619}, "setup": {"outcome": "passed", "duration": 0.00021458300000176678}, "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": 9.8540999999841e-05}}, {"call": {"outcome": "passed", "duration": 0.0032031659999915973}, "setup": {"outcome": "passed", "duration": 0.00019370800004026023}, "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.00012870799997699578}}, {"call": {"outcome": "passed", "duration": 0.0022591249999663887}, "setup": {"outcome": "passed", "duration": 0.0002263330000005226}, "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.00023958299999549126}}, {"call": {"outcome": "passed", "duration": 0.004222916999992776}, "setup": {"outcome": "passed", "duration": 0.0008523749999653774}, "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.00024070900002470808}}, {"call": {"outcome": "passed", "duration": 0.002098208000006707}, "setup": {"outcome": "passed", "duration": 0.00023887499997954365}, "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.00013383399999611356}}, {"call": {"outcome": "passed", "duration": 0.005162125000026663}, "setup": {"outcome": "passed", "duration": 0.0002243749999593092}, "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.0001345830000332171}}, {"call": {"outcome": "passed", "duration": 0.002247957999998107}, "setup": {"outcome": "passed", "duration": 0.00024899999999661304}, "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.0001427079999984926}}, {"call": {"outcome": "passed", "duration": 0.001991874999987431}, "setup": {"outcome": "passed", "duration": 0.00027649999998402564}, "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.0001280829999927846}}, {"call": {"outcome": "passed", "duration": 0.004075624999984484}, "setup": {"outcome": "passed", "duration": 0.0004859160000023621}, "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.00022991599996657897}}, {"call": {"outcome": "passed", "duration": 0.0022474999999531065}, "setup": {"outcome": "passed", "duration": 0.0002631250000035834}, "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.00014599999997244595}}, {"call": {"outcome": "passed", "duration": 0.001879958000017723}, "setup": {"outcome": "passed", "duration": 0.00023879200000465062}, "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.0002811659999792937}}, {"call": {"outcome": "passed", "duration": 0.00385225000002265}, "setup": {"outcome": "passed", "duration": 0.00048579199994946975}, "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.00042824999997037594}}, {"call": {"outcome": "passed", "duration": 0.01820204199998443}, "setup": {"outcome": "passed", "duration": 0.0007286659999863332}, "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.00013749999999390639}}, {"call": {"outcome": "passed", "duration": 0.004886000000055901}, "setup": {"outcome": "passed", "duration": 0.00022912499997573832}, "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.00013833299999532755}}, {"call": {"outcome": "passed", "duration": 0.0030787079999754496}, "setup": {"outcome": "passed", "duration": 0.0003440830000158712}, "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.0001479169999925034}}, {"call": {"outcome": "passed", "duration": 0.010992249999958403}, "setup": {"outcome": "passed", "duration": 0.0002355830000055903}, "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.0001221670000290942}}, {"call": {"outcome": "passed", "duration": 0.5019742910000105}, "setup": {"outcome": "passed", "duration": 0.0002822090000336175}, "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.0002955839999572163}}, {"call": {"outcome": "passed", "duration": 0.002559957999949347}, "setup": {"outcome": "passed", "duration": 0.000736209000024246}, "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.00012154200004488303}}, {"call": {"outcome": "skipped", "duration": 0.00016204199999947377, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00022666600000320614}, "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.0001050829999940106}}, {"call": {"outcome": "skipped", "duration": 0.00012145799996687856, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00022395899998173263}, "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": 8.67919999905098e-05}}, {"call": {"outcome": "skipped", "duration": 0.00012387499998567364, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00018075000002681918}, "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": 8.22920000018712e-05}}, {"call": {"outcome": "failed", "duration": 0.005765125000039006, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.util.misc._yield_obj_parent_attr[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/misc.py:663: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0001663330000383212}, "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.00014412500001981243}}, {"call": {"outcome": "passed", "duration": 0.002830874999972366}, "setup": {"outcome": "passed", "duration": 0.0008540829999788002}, "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.0001364159999752701}}, {"call": {"outcome": "passed", "duration": 0.0026795840000204407}, "setup": {"outcome": "passed", "duration": 0.0002470410000228185}, "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.00011287500001344597}}, {"call": {"outcome": "passed", "duration": 0.0027235420000124577}, "setup": {"outcome": "passed", "duration": 0.00020733299999164956}, "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.0001197089999891432}}, {"call": {"outcome": "passed", "duration": 0.0018595410000443735}, "setup": {"outcome": "passed", "duration": 0.00022079100000382823}, "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.0001059580000060123}}, {"call": {"outcome": "passed", "duration": 0.003279916999986199}, "setup": {"outcome": "passed", "duration": 0.00019104200003994265}, "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.00013025000004063259}}, {"call": {"outcome": "passed", "duration": 0.00330554099997471}, "setup": {"outcome": "passed", "duration": 0.00025308299996140704}, "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.00011375000002544766}}, {"call": {"outcome": "passed", "duration": 0.0030234999999834145}, "setup": {"outcome": "passed", "duration": 0.00023116600004868815}, "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.00011462500003744935}}, {"call": {"outcome": "passed", "duration": 0.00260320799998226}, "setup": {"outcome": "passed", "duration": 0.00021004199999197226}, "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.0001230420000410959}}, {"call": {"outcome": "failed", "duration": 0.007140417000016441, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.util.testing.streams_almost_equal[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/testing.py:408: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002673750000212749}, "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.00034825000000182627}}, {"call": {"outcome": "passed", "duration": 0.0018393750000313958}, "setup": {"outcome": "passed", "duration": 0.00046816700000817946}, "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.00011279200003855294}}, {"call": {"outcome": "failed", "duration": 0.0032331250000083855, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.geodetics.base.inside_geobounds[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/geodetics/base.py:430: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00019579199999952834}, "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.00015854100001888582}}, {"call": {"outcome": "passed", "duration": 0.0020069159999707153}, "setup": {"outcome": "passed", "duration": 0.000221833000011884}, "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.00011991700000635319}}, {"call": {"outcome": "passed", "duration": 0.005902958000035596}, "setup": {"outcome": "passed", "duration": 0.00020908400000507754}, "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.00014258300001301905}}, {"call": {"outcome": "passed", "duration": 0.002321332999997594}, "setup": {"outcome": "passed", "duration": 0.00023041600002216}, "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.00011754199999813864}}, {"call": {"outcome": "passed", "duration": 0.01785183300000881}, "setup": {"outcome": "passed", "duration": 0.00033858399996233857}, "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.00012608299999783412}}, {"call": {"outcome": "passed", "duration": 0.010938208000027316}, "setup": {"outcome": "passed", "duration": 0.00022695899997415836}, "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.00013920800000732925}}, {"call": {"outcome": "passed", "duration": 0.010582124999984899}, "setup": {"outcome": "passed", "duration": 0.0003460000000359287}, "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.0001287499999875763}}, {"call": {"outcome": "passed", "duration": 0.01113454199997932}, "setup": {"outcome": "passed", "duration": 0.00023129199996674288}, "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.0005653340000435492}}, {"call": {"outcome": "passed", "duration": 0.04177483299997675}, "setup": {"outcome": "passed", "duration": 0.0007676669999909791}, "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.0001310000000103173}}, {"call": {"outcome": "passed", "duration": 0.009433749999971042}, "setup": {"outcome": "passed", "duration": 0.0003304589999970631}, "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.00016991699999380216}}, {"call": {"outcome": "passed", "duration": 0.001974583999981405}, "setup": {"outcome": "passed", "duration": 0.0005529580000143142}, "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.0003634160000274278}}, {"call": {"outcome": "passed", "duration": 0.0008962919999930818}, "setup": {"outcome": "passed", "duration": 0.0005900840000094831}, "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": 9.991700000000492e-05}}, {"call": {"outcome": "passed", "duration": 0.00019562500000347427}, "setup": {"outcome": "passed", "duration": 0.00018254200000455967}, "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.0001643749999971078}}, {"call": {"outcome": "passed", "duration": 0.0006788339999843629}, "setup": {"outcome": "passed", "duration": 0.00037274999999681313}, "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.00010520799997948416}}, {"setup": {"outcome": "skipped", "duration": 0.00010720900002070266, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/geodetics/tests/test_util_geodetics.py', 195, 'Skipped: Geographiclib installed, not using calc_vincenty_inverse')"}, "lineno": 194, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_bug150", "outcome": "skipped", "keywords": ["test_gps_2_dist_azimuth_bug150", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 9.499999998752173e-05}}, {"call": {"outcome": "passed", "duration": 0.00014166699997986143}, "setup": {"outcome": "passed", "duration": 0.00020800000004328467}, "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.00016762500001732406}}, {"call": {"outcome": "passed", "duration": 0.0001230420000410959}, "setup": {"outcome": "passed", "duration": 0.00016070800000989038}, "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": 7.787499998812564e-05}}, {"call": {"outcome": "passed", "duration": 0.0013142500000071777}, "setup": {"outcome": "passed", "duration": 0.0002545409999470394}, "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.00011079199998675904}}, {"call": {"outcome": "passed", "duration": 0.0008631250000235013}, "setup": {"outcome": "passed", "duration": 0.00018066600000565813}, "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": 8.624999998119165e-05}}, {"call": {"outcome": "passed", "duration": 0.00021429200000966375}, "setup": {"outcome": "passed", "duration": 0.00016087500000594446}, "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": 8.516700000882338e-05}}, {"call": {"outcome": "failed", "duration": 0.004765582999993967, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.imaging[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/__init__.py:29: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00042787499995711187}, "lineno": 0, "nodeid": "imaging/__init__.py::obspy.imaging", "outcome": "failed", "keywords": ["obspy.imaging", "filterwarnings", "__init__.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00013604200000827404}}, {"call": {"outcome": "passed", "duration": 0.002009708999992199}, "setup": {"outcome": "passed", "duration": 0.00022529200003873484}, "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.00010062500001595254}}, {"call": {"outcome": "passed", "duration": 0.0016457909999871845}, "setup": {"outcome": "passed", "duration": 0.00018474999995987673}, "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.00025670799999488736}}, {"call": {"outcome": "passed", "duration": 0.0016342499999950633}, "setup": {"outcome": "passed", "duration": 0.00019224999999778447}, "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.00012212500001851367}}, {"call": {"outcome": "passed", "duration": 0.0016907919999766818}, "setup": {"outcome": "passed", "duration": 0.0002107920000185004}, "lineno": 1, "nodeid": "imaging/cm.py::obspy.imaging.cm", "outcome": "passed", "keywords": ["obspy.imaging.cm", "filterwarnings", "cm.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 9.720799999968222e-05}}, {"call": {"outcome": "passed", "duration": 0.0016472499999622414}, "setup": {"outcome": "passed", "duration": 0.00028320900003109273}, "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.00011833299998897928}}, {"call": {"outcome": "passed", "duration": 0.0017570840000189492}, "setup": {"outcome": "passed", "duration": 0.0004507080000166752}, "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": 9.587499999952342e-05}}, {"call": {"outcome": "passed", "duration": 0.0016878750000159926}, "setup": {"outcome": "passed", "duration": 0.00031416600000966355}, "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": 9.383299999399242e-05}}, {"call": {"outcome": "passed", "duration": 0.00024883300000055897}, "setup": {"outcome": "passed", "duration": 0.0005740000000287182}, "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.0001197079999997186}}, {"call": {"outcome": "passed", "duration": 0.5040662499999939}, "setup": {"outcome": "passed", "duration": 0.0002667090000159078}, "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.000161208000008628}}, {"call": {"outcome": "passed", "duration": 0.6123946669999896}, "setup": {"outcome": "passed", "duration": 0.00020975000001044464}, "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.0001393329999928028}}, {"call": {"outcome": "passed", "duration": 0.00018045799998844814}, "setup": {"outcome": "passed", "duration": 0.00020895799997333597}, "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": 8.495800000218878e-05}}, {"call": {"outcome": "passed", "duration": 0.0002092080000011265}, "setup": {"outcome": "passed", "duration": 0.00017320800003517434}, "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": 8.308300004955527e-05}}, {"call": {"outcome": "passed", "duration": 0.00021120799999607698}, "setup": {"outcome": "passed", "duration": 0.00015504200001714707}, "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": 8.50000000127693e-05}}, {"call": {"outcome": "passed", "duration": 0.00014870799998334405}, "setup": {"outcome": "passed", "duration": 0.00015395799999851079}, "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": 9.054099996319565e-05}}, {"call": {"outcome": "passed", "duration": 0.0005130420000227787}, "setup": {"outcome": "passed", "duration": 0.00015470900001446353}, "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": 8.462499999950523e-05}}, {"call": {"outcome": "passed", "duration": 0.0003141249999885076}, "setup": {"outcome": "passed", "duration": 0.00020754100000885956}, "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": 8.495800000218878e-05}}, {"call": {"outcome": "passed", "duration": 0.1308719589999896}, "setup": {"outcome": "passed", "duration": 0.0003293330000246897}, "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.0004549580000343667}}, {"call": {"outcome": "passed", "duration": 0.0987444169999776}, "setup": {"outcome": "passed", "duration": 0.00043745800002170654}, "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.0002092499999548636}}, {"call": {"outcome": "passed", "duration": 0.09854537499995786}, "setup": {"outcome": "passed", "duration": 0.0004509169999664664}, "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.00020274999997127452}}, {"call": {"outcome": "passed", "duration": 0.01650941699995201}, "setup": {"outcome": "passed", "duration": 0.00032383300003857585}, "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.0001677919999565347}}, {"call": {"outcome": "passed", "duration": 0.05819887499995957}, "setup": {"outcome": "passed", "duration": 0.00031016699995234376}, "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.0001808330000017122}}, {"call": {"outcome": "passed", "duration": 0.4740834579999955}, "setup": {"outcome": "passed", "duration": 0.0003839999999968313}, "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.0002703330000031201}}, {"call": {"outcome": "passed", "duration": 0.00845729200000278}, "setup": {"outcome": "passed", "duration": 0.00026250000001937224}, "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.000474832999998398}}, {"call": {"outcome": "passed", "duration": 0.005754499999966356}, "setup": {"outcome": "passed", "duration": 0.000284374999978354}, "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.00046950000000833825}}, {"call": {"outcome": "passed", "duration": 0.0037408329999948364}, "setup": {"outcome": "passed", "duration": 0.0003607500000271102}, "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.00012279100002388077}}, {"call": {"outcome": "passed", "duration": 0.06941220900000644}, "setup": {"outcome": "passed", "duration": 0.0007952500000101281}, "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.00015166700001145728}}, {"call": {"outcome": "passed", "duration": 0.00324237499995661}, "setup": {"outcome": "passed", "duration": 0.00021524999999655847}, "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.00011600000004818867}}, {"call": {"outcome": "passed", "duration": 0.003680334000023322}, "setup": {"outcome": "passed", "duration": 0.0002175829999941925}, "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.0001438340000277094}}, {"call": {"outcome": "passed", "duration": 0.9252217910000127}, "setup": {"outcome": "passed", "duration": 0.0005320420000316517}, "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.00012574999999515057}}, {"call": {"outcome": "passed", "duration": 0.5712685000000306}, "setup": {"outcome": "passed", "duration": 0.0002382910000164884}, "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.00012708299999530936}}, {"call": {"outcome": "passed", "duration": 0.5377191669999775}, "setup": {"outcome": "passed", "duration": 0.00025304199999709454}, "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.00012537500003872992}}, {"call": {"outcome": "passed", "duration": 0.5565527500000371}, "setup": {"outcome": "passed", "duration": 0.00023645800001759198}, "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.0001503750000324544}}, {"call": {"outcome": "passed", "duration": 0.5870555829999944}, "setup": {"outcome": "passed", "duration": 0.00023816700002043945}, "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.0005342499999869688}}, {"call": {"outcome": "passed", "duration": 0.1369649580000214}, "setup": {"outcome": "passed", "duration": 0.0007764580000184651}, "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.00013741700001901336}}, {"setup": {"outcome": "skipped", "duration": 0.0005773749999775646, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_mopad_script.py', 186, 'Skipped: Currently broken until further review.')"}, "lineno": 185, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_plot", "outcome": "skipped", "keywords": ["test_script_plot", "skip", "pytestmark", "filterwarnings", "image", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00028245800001514}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0058281249999936335, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_plot.py\", line 37, in test_plot\n    obspy_plot(['--outfile', str(image_path)] + all_files_list)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/plot.py\", line 37, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001273332999971899}, "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.0001855410000075608}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0033879590000083226, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_plot.py\", line 51, in test_plot_no_merge\n    obspy_plot(['--no-automerge', '--outfile', str(image_path)] +\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/plot.py\", line 37, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000300833999972383}, "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.00020670899999686299}}, {"call": {"outcome": "passed", "duration": 0.5014454170000135}, "setup": {"outcome": "passed", "duration": 1.125413291999962}, "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.00028512500000488217}}, {"call": {"outcome": "passed", "duration": 0.3382592919999752}, "setup": {"outcome": "passed", "duration": 0.20525424999999586}, "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.00029520900000079564}}, {"call": {"outcome": "passed", "duration": 0.4533095829999638}, "setup": {"outcome": "passed", "duration": 0.20498574999999164}, "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.0007584170000427548}}, {"call": {"outcome": "passed", "duration": 0.020908458000008068}, "setup": {"outcome": "passed", "duration": 0.0017212089999816271}, "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.0004995420000000195}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py", "lineno": 91, "message": "assert 1 == 2\n +  where 1 = <obspy.imaging.scripts.scan.Scanner object at 0x119833bc0>.counter"}, "outcome": "failed", "duration": 0.003413208000040413, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 91, in test_scan_dir_no_permission\n    assert scanner.counter == 2\nAssertionError: assert 1 == 2\n +  where 1 = <obspy.imaging.scripts.scan.Scanner object at 0x119833bc0>.counter"}, "setup": {"outcome": "passed", "duration": 0.0007501669999783189}, "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.0001828329999966627}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.044138250000003154, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 113, in test_scan_function_and_scanner_class\n    scanner.plot(path2)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.0004308749999495376}, "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.00026416699995479576}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.09505833300005406, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 151, in test_scan_plot_by_id_with_wildcard\n    fig = scanner.plot(fig=fig, show=False, seed_ids=[seed_id])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.00022804200000337005}, "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.00014979200000198034}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006848332999993545, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 172, in test_scanner_manually_add_streams\n    st = read(file_, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003217080000013084}, "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.00022991600002342238}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.032795292000002974, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 207, in test_scan_save_load_npz\n    scanner.plot(path1)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.00039779200000111814}, "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.00018695899996146181}}, {"call": {"outcome": "passed", "duration": 0.01614466699999184}, "setup": {"outcome": "passed", "duration": 0.0003424170000130289}, "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.00017908299997770882}}, {"call": {"outcome": "passed", "duration": 0.0030582500000377877}, "setup": {"outcome": "passed", "duration": 0.0003084170000420272}, "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.00020183300000553572}}, {"call": {"outcome": "passed", "duration": 1.2026312500000245}, "setup": {"outcome": "passed", "duration": 0.00024562500004776666}, "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.00029683399998248206}}, {"call": {"outcome": "passed", "duration": 0.3127757089999932}, "setup": {"outcome": "passed", "duration": 0.0003631669999890619}, "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.00020658400001138943}}, {"call": {"outcome": "passed", "duration": 0.04269899999997051}, "setup": {"outcome": "passed", "duration": 0.0003389169999650221}, "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.00012412500001346416}}, {"call": {"outcome": "passed", "duration": 0.010428832999991755}, "setup": {"outcome": "passed", "duration": 0.0003417909999825497}, "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.0001219999999761967}}, {"call": {"outcome": "passed", "duration": 0.3489074170000208}, "setup": {"outcome": "passed", "duration": 0.0006765420000078848}, "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.0001343750000160071}}, {"call": {"outcome": "passed", "duration": 0.0002267909999886797}, "setup": {"outcome": "passed", "duration": 0.00024970800001256066}, "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.00010670799997569702}}, {"call": {"outcome": "passed", "duration": 0.0018411670000091362}, "setup": {"outcome": "passed", "duration": 0.00018841600001451297}, "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.00010629099995185243}}, {"call": {"outcome": "passed", "duration": 0.14763512500002207}, "setup": {"outcome": "passed", "duration": 0.00039937499997222403}, "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.0002471249999871361}}, {"call": {"outcome": "passed", "duration": 0.10072350000001506}, "setup": {"outcome": "passed", "duration": 0.00033825000002707384}, "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.00019179200000962737}}, {"call": {"outcome": "passed", "duration": 0.1101966659999789}, "setup": {"outcome": "passed", "duration": 0.00043841600000860126}, "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.0001992920000475351}}, {"call": {"outcome": "passed", "duration": 0.07511124999996355}, "setup": {"outcome": "passed", "duration": 0.0009147499999926367}, "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.00019154199998183685}}, {"call": {"outcome": "passed", "duration": 0.19685800000002018}, "setup": {"outcome": "passed", "duration": 0.00033083300002090255}, "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.0005932500000085383}}, {"call": {"outcome": "passed", "duration": 0.3698731669999802}, "setup": {"outcome": "passed", "duration": 0.0009853750000274886}, "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.00020891600001959887}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018681249999872307, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 194, in test_plot_multiple_traces_1_trace\n    st = read()[1]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033849999999802094}, "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.0001929580000137321}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015546250000397777, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 201, in test_plot_multiple_traces_3_traces\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040933299999323935}, "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.0004887499999881584}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020431250000001455, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 208, in test_plot_multiple_traces_5_traces\n    st = read()[1] * 5\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008082080000235692}, "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.000177875000019867}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017299169999773767, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 216, in test_plot_multiple_traces_10_traces\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002982499999575339}, "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.0002635829999917405}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018343749999871761, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 223, in test_plot_multiple_traces_10_traces_huge\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007624159999863878}, "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.00017683300001181124}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001585374999990563, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 234, in test_plot_multiple_traces_10_traces_tiny\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006576250000307482}, "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.00016550000003690002}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014065409999943768, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 244, in test_plot_with_labels\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002741249999758111}, "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.00012112499996419501}}, {"call": {"outcome": "passed", "duration": 0.061016250000022865}, "setup": {"outcome": "passed", "duration": 0.00024112500000228465}, "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.0001767919999906553}}, {"call": {"outcome": "passed", "duration": 0.06514216700003317}, "setup": {"outcome": "passed", "duration": 0.00030158300000948657}, "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.00018291600002839914}}, {"call": {"outcome": "passed", "duration": 0.5919787500000098}, "setup": {"outcome": "passed", "duration": 0.0004833750000443615}, "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.000827708999963761}}, {"call": {"outcome": "passed", "duration": 0.5489825829999972}, "setup": {"outcome": "passed", "duration": 0.0013207079999801863}, "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.0006447920000027807}}, {"call": {"outcome": "passed", "duration": 0.5267907920000425}, "setup": {"outcome": "passed", "duration": 0.0010048749999782558}, "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.00018104099996207879}}, {"call": {"outcome": "passed", "duration": 0.5563461250000046}, "setup": {"outcome": "passed", "duration": 0.00034570799999755764}, "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.00017683300001181124}}, {"call": {"outcome": "passed", "duration": 0.6054659579999679}, "setup": {"outcome": "passed", "duration": 0.0003332499999828542}, "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.00023687499998459316}}, {"call": {"outcome": "passed", "duration": 0.6059290409999676}, "setup": {"outcome": "passed", "duration": 0.00044670900001619884}, "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.00020887499999844295}}, {"call": {"outcome": "passed", "duration": 0.6480642500000044}, "setup": {"outcome": "passed", "duration": 0.0003619159999743715}, "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.0002024170000254344}}, {"call": {"outcome": "passed", "duration": 0.6681261250000148}, "setup": {"outcome": "passed", "duration": 0.00033470800002532997}, "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.000840584000002309}}, {"call": {"outcome": "passed", "duration": 0.8012035000000424}, "setup": {"outcome": "passed", "duration": 0.00042845799998758594}, "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.00022179199999072807}}, {"call": {"outcome": "passed", "duration": 0.17001525000000584}, "setup": {"outcome": "passed", "duration": 0.00032954199997448086}, "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.00016995799995811467}}, {"call": {"outcome": "passed", "duration": 0.22630658399998538}, "setup": {"outcome": "passed", "duration": 0.0004480000000057771}, "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.00017074999999522333}}, {"call": {"outcome": "passed", "duration": 0.19077237499999455}, "setup": {"outcome": "passed", "duration": 0.00043370899999217727}, "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.0001963750000300024}}, {"call": {"outcome": "passed", "duration": 0.2503313749999734}, "setup": {"outcome": "passed", "duration": 0.0003807500000334585}, "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.0006282500000338587}}, {"call": {"outcome": "passed", "duration": 0.12255887499998153}, "setup": {"outcome": "passed", "duration": 0.0004507090000060998}, "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.0006933330000151727}}, {"call": {"outcome": "passed", "duration": 0.0940816669999549}, "setup": {"outcome": "passed", "duration": 0.0006905829999936941}, "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.00016375000001289663}}, {"call": {"outcome": "passed", "duration": 0.07814908400001741}, "setup": {"outcome": "passed", "duration": 0.0012509580000141796}, "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.00017524999998386193}}, {"call": {"outcome": "passed", "duration": 0.22601145800001632}, "setup": {"outcome": "passed", "duration": 0.0003338340000027529}, "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.00029000000000678483}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012824170000271806, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 473, in test_plot_day_plot_catalog\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039508399999022004}, "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.00016899999997121995}}, {"call": {"outcome": "passed", "duration": 0.128947165999989}, "setup": {"outcome": "passed", "duration": 0.00019575000004579124}, "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.0001280829999927846}}, {"call": {"outcome": "passed", "duration": 0.0023310000000265063}, "setup": {"outcome": "passed", "duration": 0.00023712500001238368}, "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.00010433300002432588}}, {"call": {"outcome": "passed", "duration": 0.00222004099998685}, "setup": {"outcome": "passed", "duration": 0.00020329200003743608}, "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.00010974999997870327}}, {"call": {"outcome": "passed", "duration": 0.0048510839999948985}, "setup": {"outcome": "passed", "duration": 0.0002011249999895881}, "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.00014533299997765425}}, {"call": {"outcome": "passed", "duration": 0.003001292000021749}, "setup": {"outcome": "passed", "duration": 0.003451083000015842}, "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.00038291700002446305}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008608340000364478, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ah/tests/test_core.py\", line 57, in test_read\n    st = read(testfile)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000280207999992399}, "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.00017825000003313107}}, {"call": {"outcome": "passed", "duration": 0.020301875000029668}, "setup": {"outcome": "passed", "duration": 0.0002815830000031383}, "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.00023354199998948388}}, {"call": {"outcome": "passed", "duration": 0.003841625000006843}, "setup": {"outcome": "passed", "duration": 0.00032275000000936416}, "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.0004470839999726195}}, {"call": {"outcome": "passed", "duration": 0.149480791999963}, "setup": {"outcome": "passed", "duration": 0.0008971670000050835}, "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.00017416700001149366}}, {"call": {"outcome": "passed", "duration": 0.00046200000002727393}, "setup": {"outcome": "passed", "duration": 0.00021654099998613674}, "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": 9.083300000156669e-05}}, {"call": {"outcome": "passed", "duration": 0.00014420799999470546}, "setup": {"outcome": "passed", "duration": 0.00028150000002824527}, "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.00011604200000192577}}, {"call": {"outcome": "passed", "duration": 0.0006431660000316697}, "setup": {"outcome": "passed", "duration": 0.00044362500000261207}, "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.0004920420000189552}}, {"call": {"outcome": "passed", "duration": 0.0006780839999578347}, "setup": {"outcome": "passed", "duration": 0.0010473749999846405}, "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.00017850000000407817}}, {"call": {"outcome": "passed", "duration": 0.00015833300000167583}, "setup": {"outcome": "passed", "duration": 0.00031979199997067553}, "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.000275999999985288}}, {"call": {"outcome": "passed", "duration": 0.00015266700000893252}, "setup": {"outcome": "passed", "duration": 0.00023679200000970013}, "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.00010066600003710846}}, {"call": {"outcome": "passed", "duration": 0.002918334000014511}, "setup": {"outcome": "passed", "duration": 0.002133291999996345}, "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.000135749999969903}}, {"call": {"outcome": "failed", "duration": 0.005627875000016047, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_pse[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/alsep/core.py:141: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00023633299997527502}, "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.00017162500000722503}}, {"call": {"outcome": "failed", "duration": 0.0041613340000026255, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_wth[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/alsep/core.py:304: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00023716699996612078}, "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.00018029199998181866}}, {"call": {"outcome": "failed", "duration": 0.006301875000019663, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_wtn[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/alsep/core.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002288329999942107}, "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.00014120900004854775}}, {"call": {"outcome": "passed", "duration": 0.00040729199997713295}, "setup": {"outcome": "passed", "duration": 0.0014105829999948583}, "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.00011483299999781593}}, {"call": {"outcome": "passed", "duration": 0.0007971250000196051}, "setup": {"outcome": "passed", "duration": 0.00025079099998492893}, "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.00010341699999116827}}, {"call": {"outcome": "passed", "duration": 0.0005992079999828093}, "setup": {"outcome": "passed", "duration": 0.0009025840000163043}, "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.0002461670000002414}}, {"call": {"outcome": "passed", "duration": 0.2673000000000343}, "setup": {"outcome": "passed", "duration": 0.0002443749999656575}, "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.0003737499999942884}}, {"call": {"outcome": "passed", "duration": 1.3965660420000177}, "setup": {"outcome": "passed", "duration": 0.00038699999998925705}, "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.00012812500000336513}}, {"call": {"outcome": "passed", "duration": 0.02768616700001303}, "setup": {"outcome": "passed", "duration": 0.00024166599996533478}, "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.00012766700001520803}}, {"call": {"outcome": "passed", "duration": 0.021025291000000834}, "setup": {"outcome": "passed", "duration": 0.00024050000001807348}, "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.0005133749999686188}}, {"call": {"outcome": "passed", "duration": 0.02077462500000138}, "setup": {"outcome": "passed", "duration": 0.000909417000002577}, "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.0001307499999825268}}, {"call": {"outcome": "passed", "duration": 0.005332749999979569}, "setup": {"outcome": "passed", "duration": 0.0008219999999710126}, "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.00013274999997747727}}, {"call": {"outcome": "passed", "duration": 0.12859283300002744}, "setup": {"outcome": "passed", "duration": 0.00023766600003227722}, "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.0003526659999693038}}, {"call": {"outcome": "passed", "duration": 0.07911462500004518}, "setup": {"outcome": "passed", "duration": 0.0006796249999752035}, "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.0001418329999864909}}, {"call": {"outcome": "passed", "duration": 0.3099474999999643}, "setup": {"outcome": "passed", "duration": 0.00026837500001875014}, "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.0001897920000146769}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015042500000390646, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 35, in test_publicid_slash\n    v = read_inventory(testdata[\"public-id-slash.xml\"])\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010355840000215721}, "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.0005501250000179425}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002231666000000132, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 42, in test_analogue_filter_chain\n    arclink_inv = read_inventory(self.arclink_afc_path)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008610410000073898}, "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.000533083999982864}}, {"call": {"outcome": "passed", "duration": 0.024752457999966282}, "setup": {"outcome": "passed", "duration": 0.0010967499999878783}, "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.00035583300001462703}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007104332999972485, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 71, in test_raise_polynomial\n    read_inventory(self.arclink_xml_poly)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001095665999969242}, "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.0001977090000195858}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007664999999974498, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 75, in test_auto_read_arclink_xml\n    arclink_inv = read_inventory(self.arclink_xml_path)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033312499999738066}, "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.000715249999984735}}, {"call": {"outcome": "skipped", "duration": 0.0005693329999871821, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0013187920000063968}, "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.00013266700000258425}}, {"call": {"outcome": "skipped", "duration": 0.0001616669999862097, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00020887499999844295}, "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": 8.875000003172318e-05}}, {"call": {"outcome": "failed", "duration": 0.00692762500000299, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._read_slist[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:130: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00017258300005096316}, "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.00015920800001367752}}, {"call": {"outcome": "failed", "duration": 0.011362708000035582, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._read_tspair[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:198: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008455000000253676}, "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.00014758300000039526}}, {"call": {"outcome": "failed", "duration": 0.010046165999995083, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._write_slist[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:270: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00023475000000416912}, "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.0003652080000051683}}, {"call": {"outcome": "failed", "duration": 0.0055859580000401365, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._write_tspair[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:380: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000702417000013611}, "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.00015933299999915107}}, {"call": {"outcome": "passed", "duration": 0.0005451659999948788}, "setup": {"outcome": "passed", "duration": 0.001534958000036113}, "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.0001607909999847834}}, {"call": {"outcome": "passed", "duration": 0.0015698750000296968}, "setup": {"outcome": "passed", "duration": 0.00023075000001426815}, "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.0003072910000128104}}, {"call": {"outcome": "passed", "duration": 0.004778792000024623}, "setup": {"outcome": "passed", "duration": 0.0007312920000117629}, "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.00020341700002290963}}, {"call": {"outcome": "passed", "duration": 0.00183833300002334}, "setup": {"outcome": "passed", "duration": 0.0006473339999502059}, "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.0004626670000220656}}, {"call": {"outcome": "passed", "duration": 0.002553917000000183}, "setup": {"outcome": "passed", "duration": 0.0003327080000303795}, "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.0003798749999646134}}, {"call": {"outcome": "passed", "duration": 0.0009522919999653823}, "setup": {"outcome": "passed", "duration": 0.000756666999961908}, "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.00030445900000586334}}, {"call": {"outcome": "passed", "duration": 0.0014271249999637803}, "setup": {"outcome": "passed", "duration": 0.0002452919999882397}, "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.00010924999997996565}}, {"call": {"outcome": "passed", "duration": 0.0027748339999789096}, "setup": {"outcome": "passed", "duration": 0.00023270899998806271}, "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.00012145799996687856}}, {"call": {"outcome": "passed", "duration": 0.0013627499999984138}, "setup": {"outcome": "passed", "duration": 0.0003717499999993379}, "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.0002908750000187865}}, {"call": {"outcome": "passed", "duration": 0.0015118750000056025}, "setup": {"outcome": "passed", "duration": 0.0002689579999923808}, "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.00011583399998471577}}, {"call": {"outcome": "passed", "duration": 0.002680333000000701}, "setup": {"outcome": "passed", "duration": 0.00023149999998395288}, "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.00011912499996924453}}, {"call": {"outcome": "passed", "duration": 0.002723874999958298}, "setup": {"outcome": "passed", "duration": 0.0002466249999883985}, "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.00011425000002418528}}, {"call": {"outcome": "passed", "duration": 0.001938499999994292}, "setup": {"outcome": "passed", "duration": 0.000313542000014877}, "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.00015687499995920007}}, {"call": {"outcome": "passed", "duration": 0.03763670800003638}, "setup": {"outcome": "passed", "duration": 0.0009457919999817932}, "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.00016641600001321422}}, {"call": {"outcome": "passed", "duration": 0.0026833329999931266}, "setup": {"outcome": "passed", "duration": 0.0008017089999725613}, "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.000510125000005246}}, {"call": {"outcome": "passed", "duration": 0.0028514169999880323}, "setup": {"outcome": "passed", "duration": 0.00027858400000013717}, "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.00013562499998442945}}, {"call": {"outcome": "passed", "duration": 0.002188000000046486}, "setup": {"outcome": "passed", "duration": 0.00024516700000276614}, "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.00016604199998937474}}, {"call": {"outcome": "passed", "duration": 0.006419209000000592}, "setup": {"outcome": "passed", "duration": 0.00025104100001271945}, "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.00012225000000398722}}, {"call": {"outcome": "passed", "duration": 0.026633959000037066}, "setup": {"outcome": "passed", "duration": 0.00036808300001212046}, "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.00012454199998046533}}, {"call": {"outcome": "passed", "duration": 0.055032832999984294}, "setup": {"outcome": "passed", "duration": 0.00021491700005071834}, "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.00012800000001789158}}, {"call": {"outcome": "passed", "duration": 0.00023079200002484868}, "setup": {"outcome": "passed", "duration": 0.00020433399998864843}, "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.0005825000000072578}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001512208000008286, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/tests/test_ascii.py\", line 675, in test_regression_against_mseed2ascii\n    read(mseed_file).write(tf.name, format=\"TSPAIR\")\n    ^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008403339999745185}, "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.00015799999999899228}}, {"call": {"outcome": "passed", "duration": 0.001254416999984187}, "setup": {"outcome": "passed", "duration": 0.00024291699998002514}, "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.00010187499998437488}}, {"call": {"outcome": "passed", "duration": 0.000999958000022616}, "setup": {"outcome": "passed", "duration": 0.00020949999998265412}, "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.00019445899999936955}}, {"call": {"outcome": "failed", "duration": 0.0059744170000044505, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.cmtsolution[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004884580000066308}, "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.0001702499999964857}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011833330000285969, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 27, in test_read_and_write_cmtsolution_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010448749999909523}, "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.001977249999981723}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007993749999855027, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 53, in test_write_no_preferred_focal_mechanism\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004680419999658625}, "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.00019783300001563475}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001781916000027195, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 82, in test_read_and_write_cmtsolution_from_open_files\n    cat = obspy.read_events(fh)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000660291999963647}, "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.00020525000002180604}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007935830000178612, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 106, in test_read_and_write_cmtsolution_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008136249999779466}, "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.0001501670000152444}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006064579999929265, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 130, in test_read_and_write_cmtsolution_explosion\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022854200000210767}, "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.0001179170000114027}}, {"call": {"outcome": "passed", "duration": 0.005878082999970502}, "setup": {"outcome": "passed", "duration": 0.0006983750000131295}, "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.0001305410000327356}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009605830000509741, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 163, in test_read_and_write_multiple_cmtsolution_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002403330000220194}, "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.00013987500000212094}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00030024999995248436, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 197, in test_read_and_write_multiple_events_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002317500000117434}, "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.00014437499999075953}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001053957999999966, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 213, in test_reading_newer_cmtsolution_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004750829999693451}, "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.0003942920000099548}}, {"call": {"outcome": "passed", "duration": 0.03588237499997149}, "setup": {"outcome": "passed", "duration": 0.0010541250000528635}, "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.0006056660000126612}}, {"call": {"outcome": "passed", "duration": 0.0005940000000350665}, "setup": {"outcome": "passed", "duration": 0.013478167000016583}, "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.00034462499996834595}}, {"call": {"outcome": "passed", "duration": 0.0014358750000269538}, "setup": {"outcome": "passed", "duration": 0.01266854099998227}, "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.00039850000001706576}}, {"call": {"outcome": "passed", "duration": 0.0009222090000093885}, "setup": {"outcome": "passed", "duration": 0.013826875000006567}, "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.00020762499997317718}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010042499999940446, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/css/tests/test_core.py\", line 94, in test_css_read_via_obspy\n    st = read(self.filename_css)\n         ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.016210499999999683}, "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.00015929199997799515}}, {"call": {"outcome": "passed", "duration": 0.0021127499999806787}, "setup": {"outcome": "passed", "duration": 0.016696083999988787}, "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.0004662910000092779}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007712909999781914, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/css/tests/test_core.py\", line 113, in test_nnsa_kb_core_read_via_obspy\n    st = read(self.filename_nnsa)\n         ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.014893749999998818}, "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.00018820799999730298}}, {"call": {"outcome": "passed", "duration": 0.003901541000004727}, "setup": {"outcome": "passed", "duration": 0.016149249999955373}, "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.00014799999996739643}}, {"call": {"outcome": "passed", "duration": 0.003839749999997366}, "setup": {"outcome": "passed", "duration": 0.01228579099995386}, "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.0005337919999988117}}, {"call": {"outcome": "passed", "duration": 0.0011684170000307859}, "setup": {"outcome": "passed", "duration": 0.013953624999999192}, "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.0008315829999787638}}, {"call": {"outcome": "passed", "duration": 0.11727495799999588}, "setup": {"outcome": "passed", "duration": 0.0010485839999887503}, "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.00040749999999434294}}, {"call": {"outcome": "failed", "duration": 0.008838125000011132, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/__init__.py:13: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000717916000041896}, "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.0003278749999822139}}, {"call": {"outcome": "failed", "duration": 0.016781874999992397, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._events2array[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/core.py:395: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031216700000413766}, "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.0005921249999687461}}, {"call": {"outcome": "failed", "duration": 0.01824729100002287, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._read_csv[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003228749999948377}, "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.0010727920000022095}}, {"call": {"outcome": "failed", "duration": 0.009457750000024134, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._write_csv[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/core.py:274: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007756250000170439}, "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.00017962500004387039}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0033009169999900223, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 14, in test_csv\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0034068749999960346}, "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.00022762499997952546}}, {"call": {"outcome": "passed", "duration": 0.02509787500002858}, "setup": {"outcome": "passed", "duration": 0.0002225409999709882}, "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.0005218750000040018}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010156250000363798, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 43, in test_csv_incomplete_catalog\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004202910000117299}, "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.00038945799997236463}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002747709000004761, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 71, in test_csv_custom_fmt\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005560409999816329}, "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.00018433299999287556}}, {"call": {"outcome": "passed", "duration": 0.0003126670000028753}, "setup": {"outcome": "passed", "duration": 0.00021470799998724033}, "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.0001230830000054084}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0036408749999736756, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 88, in test_csz\n    events = read_events('/path/to/example.pha')\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00019041699999888806}, "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.00022766699999010598}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0030173750000130894, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 128, in test_csz_without_picks\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005765420000329868}, "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.00018854099999998652}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002416666999977224, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 139, in test_csz_without_check_compression_parameters\n    test_csz(check_compression=True)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 88, in test_csz\n    events = read_events('/path/to/example.pha')\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022354100002530686}, "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.00021041700000523633}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001029000000016822, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 144, in test_load_csv\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00025420800000119925}, "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.00018699999998261774}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009715000000483087, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 158, in test_load_csv_incomplete_catalog\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002232080000226233}, "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.0005128340000055687}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018010000000003856, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 173, in test_load_csv_some_cols\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002991669999801161}, "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.00026866700000027777}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010572499999739193, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 190, in test_events2array\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020929199996544412}, "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.00020183300000553572}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.012279833000036433, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 198, in test_eventtxt\n    events = read_events(fname)\n             ^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022216600001456754}, "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.00022829099998489255}}, {"call": {"outcome": "failed", "duration": 0.009683624999979656, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.cybershake[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cybershake/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.001059791999978188}, "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.0006163329999822054}}, {"call": {"outcome": "passed", "duration": 0.00030091700000411947}, "setup": {"outcome": "passed", "duration": 0.0007690840000122989}, "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.00011383300000034069}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0037432500000136315, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cybershake/tests/test_core.py\", line 37, in test_read_cybershake\n    st2 = read(valid_file)\n          ^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000227749999964999}, "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.00027316699998891636}}, {"call": {"outcome": "failed", "duration": 0.00681258299999854, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.dmx[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/__init__.py:28: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.001338916000008794}, "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.00018458400001009068}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006987499999695501, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/tests/test_core.py\", line 23, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009588749999807078}, "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.00011437500000965883}}, {"call": {"outcome": "passed", "duration": 0.0016684999999938555}, "setup": {"outcome": "passed", "duration": 0.00039529200000743003}, "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.00015041700004303493}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008539170000290142, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/tests/test_core.py\", line 59, in test_read_with_station\n    st = read(filename, station='EMPL')\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022662500003889363}, "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.0005202910000434713}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008372500000177752, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/tests/test_core.py\", line 73, in test_check_data_content_sum\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004969999999957508}, "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.00026212499994926475}}, {"call": {"outcome": "passed", "duration": 0.0002788749999922402}, "setup": {"outcome": "passed", "duration": 0.007156749999978729}, "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.00011375000002544766}}, {"call": {"outcome": "passed", "duration": 0.008489790999988145}, "setup": {"outcome": "passed", "duration": 0.0005279999999743268}, "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.0003968329999679554}}, {"call": {"outcome": "passed", "duration": 0.008292541999992409}, "setup": {"outcome": "passed", "duration": 0.001328166999996938}, "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.000886790999970799}}, {"call": {"outcome": "passed", "duration": 0.010182125000028464}, "setup": {"outcome": "passed", "duration": 0.0015755420000118647}, "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.00046524999999064676}}, {"call": {"outcome": "passed", "duration": 0.012146416999996745}, "setup": {"outcome": "passed", "duration": 0.00260287500003642}, "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.00038204100002303676}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001959750000025906, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/focmec/tests/test_core.py\", line 151, in test_read_focmec_out_through_plugin\n    cat = read_events(self.out_file)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0014231249999738793}, "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.0004568329999870002}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010494580000113274, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/focmec/tests/test_core.py\", line 155, in test_read_focmec_lst_through_plugin\n    cat = read_events(self.lst_file)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006168749999915235}, "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.0005264579999675334}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002776790999973855, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/focmec/tests/test_core.py\", line 169, in test_read_focmec_lst_other_flavors\n    cat = read_events(testdata['focmec_qedUWne.lst'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001330207999956201}, "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.0003137920000426675}}, {"call": {"outcome": "failed", "duration": 0.008075749999989057, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gcf[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0014520839999931923}, "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.0002511249999770371}}, {"call": {"outcome": "passed", "duration": 0.008152166000002126}, "setup": {"outcome": "passed", "duration": 0.0003563750000239452}, "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.0001339160000384254}}, {"call": {"outcome": "skipped", "duration": 0.00013083300001426323, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00025154100001145707}, "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": 9.28750000070977e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009316659999853982, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 32, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001560041999994155}, "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.00046637500003043897}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009997909999697185, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 51, in test_read_head_via_obspy\n    st = read(filename, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002753329999904963}, "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.00015820900000562688}}, {"call": {"outcome": "passed", "duration": 0.0027237499999728243}, "setup": {"outcome": "passed", "duration": 0.00023900000002186061}, "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.00011716700004171798}}, {"call": {"outcome": "passed", "duration": 0.001394500000003518}, "setup": {"outcome": "passed", "duration": 0.00022575000002689194}, "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.00010154199998169133}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007674579999843445, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 104, in test_read_channel_prefix_via_obspy\n    st = read(filename, headonly=True, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022787500000731598}, "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.0001584999999977299}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001047625000012431, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 121, in test_merge_gcf_stream\n    st1 = read(filename, headonly=True, channel_prefix=\"HN\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022220899995772925}, "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.00021674999999277134}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019037499999967622, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 146, in test_sps_d\n    st = read(filename, headonly=True, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022875000001931767}, "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.00030666600002859923}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007804999999621032, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 163, in test_read_no_merge\n    st = read(filename, blockmerge=False, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003040830000031747}, "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.0007494579999729467}}, {"call": {"outcome": "passed", "duration": 0.0440501659999768}, "setup": {"outcome": "passed", "duration": 0.00026950000000169894}, "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.0004173749999836218}}, {"call": {"outcome": "passed", "duration": 0.2699489590000326}, "setup": {"outcome": "passed", "duration": 0.0008276670000100239}, "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.00013958400001001792}}, {"call": {"outcome": "passed", "duration": 0.0032737920000158738}, "setup": {"outcome": "passed", "duration": 0.00022129199999199045}, "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.00038141699997140677}}, {"call": {"outcome": "failed", "duration": 0.010416500000019369, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/__init__.py:25: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.001520667000022513}, "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.00015637499996046245}}, {"call": {"outcome": "failed", "duration": 0.006684333000009701, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.bulletin._read_gse2[3]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/bulletin.py:1127: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00027062499998464773}, "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.00017558299998654547}}, {"call": {"outcome": "failed", "duration": 0.010035207999976592, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._read_gse1[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003210840000065218}, "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.00021433300003081968}}, {"call": {"outcome": "failed", "duration": 0.007718833000012637, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._read_gse2[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/core.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007948339999757081}, "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.00014570800004776174}}, {"call": {"outcome": "failed", "duration": 0.005146916999990481, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._write_gse2[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/core.py:92: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002874169999813603}, "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.0001365840000175922}}, {"call": {"outcome": "passed", "duration": 0.00390645800001721}, "setup": {"outcome": "passed", "duration": 0.00034412500002645174}, "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.0002655830000435344}}, {"call": {"outcome": "passed", "duration": 0.0028090419999671212}, "setup": {"outcome": "passed", "duration": 0.0009577089999766031}, "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.00025687499999094143}}, {"call": {"outcome": "passed", "duration": 0.005750792000014826}, "setup": {"outcome": "passed", "duration": 0.00024179199999707635}, "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.00014929200000324272}}, {"call": {"outcome": "passed", "duration": 0.02217658299997538}, "setup": {"outcome": "passed", "duration": 0.000610417000018515}, "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.000132083000039529}}, {"call": {"outcome": "passed", "duration": 0.016930041000023266}, "setup": {"outcome": "passed", "duration": 0.00023662500001364606}, "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.00013245900004221767}}, {"call": {"outcome": "passed", "duration": 0.017879290999985642}, "setup": {"outcome": "passed", "duration": 0.00023212499996816405}, "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.00015166699995461386}}, {"call": {"outcome": "passed", "duration": 0.018802291000042715}, "setup": {"outcome": "passed", "duration": 0.0002455000000054497}, "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.0005525830000010501}}, {"call": {"outcome": "passed", "duration": 0.024795291999964775}, "setup": {"outcome": "passed", "duration": 0.00024408299998412986}, "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.00012816700001394565}}, {"call": {"outcome": "passed", "duration": 0.02030962499998168}, "setup": {"outcome": "passed", "duration": 0.0003104589999907148}, "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.0001267079999820453}}, {"call": {"outcome": "passed", "duration": 0.04643883299996787}, "setup": {"outcome": "passed", "duration": 0.0002425420000236045}, "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.00013895799997953873}}, {"call": {"outcome": "passed", "duration": 0.022332583999968847}, "setup": {"outcome": "passed", "duration": 0.00038787500000125874}, "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.0003132920000439299}}, {"call": {"outcome": "passed", "duration": 0.03161104100001921}, "setup": {"outcome": "passed", "duration": 0.00036595800003169643}, "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.00014320899998665482}}, {"call": {"outcome": "passed", "duration": 0.022320457999967402}, "setup": {"outcome": "passed", "duration": 0.0002688329999500638}, "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.00013137499996673796}}, {"call": {"outcome": "passed", "duration": 0.03282374999997728}, "setup": {"outcome": "passed", "duration": 0.00026099999996631595}, "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.0003587080000215792}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009072090000472599, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 605, in test_inventory\n    inventory = read_inventory(inventory_filename)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028512500000488217}, "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.00021795800000745658}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007887090000053831, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 645, in test_inventory_with_multiple_channels\n    inventory = read_inventory(inventory_filename)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003942920000099548}, "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.00047379099999034224}}, {"call": {"outcome": "passed", "duration": 0.03715204200000244}, "setup": {"outcome": "passed", "duration": 0.0008100410000224656}, "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.00024274999998397107}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008349579999844536, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 724, in test_read_events\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028416599997171943}, "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.0002099170000064987}}, {"call": {"outcome": "passed", "duration": 0.014176416999987396}, "setup": {"outcome": "passed", "duration": 0.0002935410000191041}, "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.00023924999999280772}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008152500000164764, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 28, in test_read_via_obspy\n    st = read(gse2file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006286249999902793}, "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.00020433299999922383}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018376669999611295, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 49, in test_read_head_via_obspy\n    st = read(gse2file, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012584579999952439}, "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.00020120800002132455}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002214000000037686, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 67, in test_read_and_write_via_obspy\n    st1 = read(gse2file)\n          ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035883300000705276}, "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.0002569580000226779}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0031349590000218086, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 113, in test_read_and_write_streams_via_obspy\n    st1 = read(tf.name)\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033575000003338573}, "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.0004060840000192911}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006859667000014724, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 159, in test_write_integers_via_obspy\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029320800001642056}, "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.0002141670000241902}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00531912500002818, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 174, in test_tab_complete_stats\n    tr = read(gse2file)[0]\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001144082999985585}, "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.00024562499999092324}}, {"call": {"outcome": "passed", "duration": 0.002521333999993658}, "setup": {"outcome": "passed", "duration": 0.00026191599999947357}, "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.0002737089999982345}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00106625000000804, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 200, in test_read_with_wrong_checksum\n    read(gse2file, verify_chksum=False)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003970420000314334}, "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.0004272499999729007}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024643340000238823, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 212, in test_read_with_wrong_parameters\n    read(gse2file, verify_chksum=False, starttime=None)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009810419999780606}, "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.00019449999996368206}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007187079999653179, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 221, in test_read_gse1_via_obspy\n    st = read(gse1file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002493750000098771}, "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.0006426670000223567}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009694159999753538, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 238, in test_read_gse1_head_via_obspy\n    st = read(gse1file, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029366699999400225}, "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.00029820799994695335}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015141250000283435, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 257, in test_read_intv_gse1_via_obspy\n    read(gse1file, verify_chksum=True)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002680830000372225}, "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.0002396250000060718}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007191249999891625, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 295, in test_read_dos\n    st = read(filedos, verify_chksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003204170000117301}, "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.0032947079999985363}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008840829999599009, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 307, in test_read_apply_calib\n    st = read(gse2file, apply_calib=False)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008075000000076216}, "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.00016837499998700878}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002021749999983058, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 327, in test_write_and_read_correct_network\n    tr = read(tmpfile)[0]\n         ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021095900001455448}, "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.0001329590000409553}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006824999999821557, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 337, in test_read_gse2_int_datatype\n    st = read(gse2file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042620799996484493}, "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.0006004170000437625}}, {"call": {"outcome": "passed", "duration": 0.007061708999970051}, "setup": {"outcome": "passed", "duration": 0.0028800829999795496}, "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.00017037499998195926}}, {"call": {"outcome": "passed", "duration": 0.0013074579999852176}, "setup": {"outcome": "passed", "duration": 0.0013458750000268083}, "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.00016095799998083749}}, {"call": {"outcome": "passed", "duration": 0.0015877080000450405}, "setup": {"outcome": "passed", "duration": 0.0002452919999882397}, "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.00010108300000410964}}, {"call": {"outcome": "passed", "duration": 0.03381374999997888}, "setup": {"outcome": "passed", "duration": 0.00021087499999339343}, "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.00012516600003209533}}, {"call": {"outcome": "passed", "duration": 0.019364375000009204}, "setup": {"outcome": "passed", "duration": 0.00023733300002959368}, "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.0001857909999785079}}, {"call": {"outcome": "passed", "duration": 0.0010851669999851765}, "setup": {"outcome": "passed", "duration": 0.0007363340000097196}, "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.00042424999998047497}}, {"call": {"outcome": "passed", "duration": 0.0002554579999696216}, "setup": {"outcome": "passed", "duration": 0.00025195900002472627}, "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": 9.149999999635838e-05}}, {"call": {"outcome": "passed", "duration": 0.0009159999999610591}, "setup": {"outcome": "passed", "duration": 0.00017424999998638668}, "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.0003410830000234455}}, {"call": {"outcome": "passed", "duration": 0.0004545409999536787}, "setup": {"outcome": "passed", "duration": 0.00022350000000415093}, "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.00010091600000805556}}, {"call": {"outcome": "passed", "duration": 0.0004886250000026848}, "setup": {"outcome": "passed", "duration": 0.0002468330000056085}, "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.00010291599994616263}}, {"call": {"outcome": "passed", "duration": 0.00033491599998569654}, "setup": {"outcome": "passed", "duration": 0.00021558299999924202}, "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.00015095800000608506}}, {"call": {"outcome": "passed", "duration": 0.0004743329999996604}, "setup": {"outcome": "passed", "duration": 0.0003564169999776823}, "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.00018199999999524152}}, {"call": {"outcome": "passed", "duration": 0.0005922499999542197}, "setup": {"outcome": "passed", "duration": 0.00021041700000523633}, "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.00016670899998416644}}, {"call": {"outcome": "passed", "duration": 0.00021966600002087944}, "setup": {"outcome": "passed", "duration": 0.00032679199995300223}, "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.00011524999996481711}}, {"call": {"outcome": "passed", "duration": 0.00028604199997062096}, "setup": {"outcome": "passed", "duration": 0.00018841700000393757}, "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": 9.67089999903692e-05}}, {"call": {"outcome": "failed", "duration": 0.0063403330000255664, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.hypodd[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004980830000249625}, "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.00015816699999504635}}, {"call": {"outcome": "passed", "duration": 0.0003913749999924221}, "setup": {"outcome": "passed", "duration": 0.0008044169999834594}, "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.00030583300002717806}}, {"call": {"outcome": "passed", "duration": 0.0011237500000333966}, "setup": {"outcome": "passed", "duration": 0.0002799580000214519}, "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.00013904200000069977}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015868329999761954, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 28, in test_read_pha\n    cat = read_events(self.fname)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002793749999909778}, "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.0005450419999988299}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001499542000033216, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 65, in test_60s_nan\n    cat = read_events(self.fname2)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035770899995668515}, "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.00024116600002344057}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06829550000003337, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 79, in test_populate_waveform_id\n    cat = read_events(self.fname, inventory=inv)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003153750000137734}, "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.00015541600004098655}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008502500000417967, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 97, in test_eventid_map\n    cat = read_events(self.fname) + read_events(self.fname2)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000782333000017843}, "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.00029229199998326294}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006729579999955604, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 124, in test_write_pha\n    cat = read_events(self.fname)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00047924999995530015}, "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.0003435419999959777}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.012875082999983078, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 146, in test_write_pha_minimal\n    cat2 = read_events(tempfile)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004874580000091555}, "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.0002816659999780313}}, {"call": {"outcome": "passed", "duration": 0.20203824999998687}, "setup": {"outcome": "passed", "duration": 0.0016856249999932515}, "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.00023125000001300577}}, {"call": {"outcome": "passed", "duration": 0.4884690420000197}, "setup": {"outcome": "passed", "duration": 0.0005223339999815835}, "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.0001469590000056087}}, {"call": {"outcome": "passed", "duration": 0.22955150000001368}, "setup": {"outcome": "passed", "duration": 0.0003016670000306476}, "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.00014804199997797696}}, {"call": {"outcome": "passed", "duration": 0.27265037499995515}, "setup": {"outcome": "passed", "duration": 0.0011574999999766078}, "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.00037687500002903107}}, {"call": {"outcome": "passed", "duration": 0.0008854170000063277}, "setup": {"outcome": "passed", "duration": 0.0005332499999894935}, "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.00041383300003872137}}, {"call": {"outcome": "passed", "duration": 0.0009947500000180298}, "setup": {"outcome": "passed", "duration": 0.0011277910000444535}, "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.00047879199996714306}}, {"call": {"outcome": "passed", "duration": 0.0003517499999929896}, "setup": {"outcome": "passed", "duration": 0.0008472910000136835}, "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.0008423749999906249}}, {"call": {"outcome": "failed", "duration": 0.005194709000022613, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.json.default[3]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/json/default.py:16: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0018175000000155705}, "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.0005085419999772967}}, {"call": {"outcome": "passed", "duration": 0.0025779580000175883}, "setup": {"outcome": "passed", "duration": 0.007970666999995046}, "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.0001503750000324544}}, {"call": {"outcome": "passed", "duration": 0.0007782910000173615}, "setup": {"outcome": "passed", "duration": 0.0030159169999706137}, "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.00013633399998980167}}, {"call": {"outcome": "passed", "duration": 0.032731957999999395}, "setup": {"outcome": "passed", "duration": 0.006844666999995752}, "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.00019358299999794326}}, {"call": {"outcome": "failed", "duration": 0.011263084000006529, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.kinemetrics[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006513330000075257}, "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.00015733300000420058}}, {"call": {"outcome": "passed", "duration": 0.0033937910000076954}, "setup": {"outcome": "passed", "duration": 0.0007777080000437309}, "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.0001325829999814232}}, {"call": {"outcome": "passed", "duration": 0.0018430000000080327}, "setup": {"outcome": "passed", "duration": 0.000246875000016189}, "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.00012037499999451029}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007456249999790998, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 69, in test_read_via_obspy1\n    st = read(filename, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002554999999802021}, "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.00017925000003060632}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002060874999983753, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 95, in test_read_via_obspy2\n    st = read(filename, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008267499999874417}, "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.0006893749999790089}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020124999999779902, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 125, in test_read_via_obspy_and_bytesio1\n    st = read(buf, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005521670000234735}, "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.001079666000009638}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005795420000254126, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 155, in test_read_via_obspy_and_bytesio2\n    st = read(buf, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038408300002856777}, "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.0003307500000460095}}, {"call": {"outcome": "passed", "duration": 0.03413408400001572}, "setup": {"outcome": "passed", "duration": 0.0009545829999524358}, "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.00023737499998333078}}, {"call": {"outcome": "passed", "duration": 0.0841088329999593}, "setup": {"outcome": "passed", "duration": 0.0002357920000122249}, "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.00015008299999408337}}, {"call": {"outcome": "passed", "duration": 0.15004445900001429}, "setup": {"outcome": "passed", "duration": 0.0002545419999933074}, "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.0006161250000218388}}, {"call": {"outcome": "passed", "duration": 0.04639725000004091}, "setup": {"outcome": "passed", "duration": 0.00037841599998955644}, "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.0002013339999962227}}, {"call": {"outcome": "failed", "duration": 0.06702754100001584, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.kml[3]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kml/__init__.py:15: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.001033375000019987}, "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.0001876249999668289}}, {"call": {"outcome": "passed", "duration": 0.22836616699999013}, "setup": {"outcome": "passed", "duration": 0.000805124999999407}, "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.0001407089999929667}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000966207999965718, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kml/tests/test_kml.py\", line 33, in test_write_catalog\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002775409999458134}, "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.00023841600000196195}}, {"call": {"outcome": "failed", "duration": 0.007523583000022427, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/__init__.py:31: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005025419999924452}, "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.00043587499999375723}}, {"call": {"outcome": "failed", "duration": 0.010137374999999338, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed.core._read_mseed[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/core.py:377: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008143330000507376}, "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.00033983399998760433}}, {"call": {"outcome": "failed", "duration": 0.011311458999955448, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed.core._write_mseed[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/core.py:817: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00023329199996169336}, "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.0003303330000221649}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.014168000000040593, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 44, in test_read_head_file_via_obspy\n    stream = read(gapfile, headonly=True)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.003934834000006049}, "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.00026979200004007}}, {"call": {"outcome": "passed", "duration": 0.013430583000001661}, "setup": {"outcome": "passed", "duration": 0.00024387499996691986}, "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.00012574999999515057}}, {"call": {"outcome": "passed", "duration": 0.9753024579999874}, "setup": {"outcome": "passed", "duration": 0.00026145800001131647}, "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.00015629199998556942}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015612089999876844, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 161, in test_downcast_int64_to_int32\n    st2 = read(buf)\n          ^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002349170000002232}, "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.00033837499995570397}}, {"call": {"outcome": "passed", "duration": 0.00639766699998745}, "setup": {"outcome": "passed", "duration": 0.00023666700002422658}, "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.00013108299998521034}}, {"call": {"outcome": "passed", "duration": 0.013347249999981159}, "setup": {"outcome": "passed", "duration": 0.0009563749999870197}, "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.0001465409999923395}}, {"call": {"outcome": "passed", "duration": 0.004268374999981006}, "setup": {"outcome": "passed", "duration": 0.0008958750000260807}, "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.0001364169999646947}}, {"call": {"outcome": "passed", "duration": 0.00036541599996553487}, "setup": {"outcome": "passed", "duration": 0.00023933300002454416}, "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": 8.895799999208975e-05}}, {"call": {"outcome": "passed", "duration": 0.031223624999995536}, "setup": {"outcome": "passed", "duration": 0.0001893749999908323}, "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.00013129199999184493}}, {"call": {"outcome": "passed", "duration": 0.0026877079999962916}, "setup": {"outcome": "passed", "duration": 0.00025808399999505127}, "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.00011941599996134755}}, {"call": {"outcome": "passed", "duration": 0.002925166000011359}, "setup": {"outcome": "passed", "duration": 0.00023304199999074626}, "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.00012116700003161895}}, {"call": {"outcome": "passed", "duration": 0.0058485839999775635}, "setup": {"outcome": "passed", "duration": 0.000882417000013902}, "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.0001323330000104761}}, {"call": {"outcome": "passed", "duration": 0.0017859999999814136}, "setup": {"outcome": "passed", "duration": 0.00025104199994530063}, "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.00011620800000855525}}, {"call": {"outcome": "passed", "duration": 0.3106396249999648}, "setup": {"outcome": "passed", "duration": 0.0002188750000300388}, "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.0003970409999851654}}, {"call": {"outcome": "passed", "duration": 0.017200415999980123}, "setup": {"outcome": "passed", "duration": 0.0009367499999939355}, "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.000146083999993607}}, {"call": {"outcome": "passed", "duration": 0.005501332999983788}, "setup": {"outcome": "passed", "duration": 0.0005068749999850297}, "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.00019100000002936213}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00076333300000897, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 605, in test_read_ms_traces_via_records_multiple_ids\n    st = read(file, starttime=starttime, endtime=endtime)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003080409999824951}, "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.00013883399998348978}}, {"call": {"outcome": "passed", "duration": 0.012007124999968255}, "setup": {"outcome": "passed", "duration": 0.0002197919999957776}, "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.0004132079999976668}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004204417000039484, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 728, in test_write_and_read_different_record_lengths\n    temp_st = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002698339999938071}, "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.00017116600002964333}}, {"call": {"outcome": "passed", "duration": 0.003917250000029071}, "setup": {"outcome": "passed", "duration": 0.0002744160000247575}, "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.00012979199999563207}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005581166000013127, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 752, in test_read_with_wild_card\n    st = read(files)\n         ^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023441700000148558}, "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.000192708000042785}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029217500000413565, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 775, in test_header\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004824590000112039}, "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.00016116699998747208}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0051899590000061835, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 825, in test_reading_and_writing_via_the_stats_attribute\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022137499996688348}, "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.00016520799999852898}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006973750000156542, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 843, in test_read_parts_of_file\n    tr1 = read(file, starttime=t[0], endtime=t[1])[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021995800000240706}, "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.00011741700001266508}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007124579999526759, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 858, in test_read_with_gse2_option\n    tr = read(file, verify_chksum=True, starttime=None)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.003707249999990836}, "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.00012687500003494279}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005977920000077575, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 872, in test_all_data_types_and_endians_in_multiple_files\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00025375000001304215}, "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.00011458300002686883}}, {"call": {"outcome": "passed", "duration": 0.0017619999999851643}, "setup": {"outcome": "passed", "duration": 0.00017929199998434342}, "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.00010150000002795423}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.013418584000021383, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 923, in test_all_data_types_and_endians_in_single_file\n    st2 = read(tempfile)\n          ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0001830420000032973}, "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.0001760829999852831}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009618749999731335, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 939, in test_enforce_steim2_with_steim1_as_encoding\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00100404099998741}, "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.0002349170000002232}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00335583300000053, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 987, in test_files_from_libmseed\n    st = read(cur_file)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011949999999956162}, "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.00041883299996925416}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000688167000021167, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1018, in test_writing_microseconds\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009166250000021137}, "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.00017295800000738382}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005587249999962296, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1067, in test_reading_and_writing_dataquality\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022208300003967452}, "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.0003765409999800795}}, {"call": {"outcome": "passed", "duration": 0.003128291999985322}, "setup": {"outcome": "passed", "duration": 0.0006327919999762344}, "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.00044333300002108444}}, {"call": {"outcome": "passed", "duration": 0.0008333750000133477}, "setup": {"outcome": "passed", "duration": 0.0007747500000050422}, "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.0004997080000066489}}, {"call": {"outcome": "passed", "duration": 0.0007757500000025175}, "setup": {"outcome": "passed", "duration": 0.0008277919999954975}, "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.00025125000001935405}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009289999999850806, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1131, in test_bizarre_files\n    st1 = read(datapath / \"bizarre\" /\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003041250000137552}, "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.00016037500000720684}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00344462499998599, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1176, in test_write_and_read_different_encodings\n    st2 = read(tempfile)\n          ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002258750000123655}, "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.00017295899999680842}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029297500000211585, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1197, in test_issue376\n    st = read(tempfile)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.004757874999995693}, "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.00016162499997562918}}, {"call": {"outcome": "passed", "duration": 0.0027487920000339727}, "setup": {"outcome": "passed", "duration": 0.0002049170000191225}, "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.00042420900001616246}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012075409999852127, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1227, in test_read_timing_qual\n    st = read(filename, details=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043145799998001166}, "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.0001726670000152808}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006536250000408472, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1255, in test_corrupt_file_length\n    st = read(filename, reclen=512)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00024200000001428634}, "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.00015358299998524672}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007447500000239415, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1268, in test_verbosity\n    st = read(filename, verbose=2)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023770899997543893}, "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.00014737500004002868}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019210829999565249, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1282, in test_writing_with_some_encoding_fails\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004049170000257618}, "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.00014950000002045272}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006237500000452201, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1328, in test_reading_geoscope_16bit_4bit_exponent_format\n    tr = read(testdata['GEOSCOPE16_4_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002510830000233}, "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.00014012499997306804}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006955829999810703, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1343, in test_reading_sro_format\n    tr = read(testdata['SRO_encoding.mseed']).select(component=\"Z\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023045800003274053}, "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.00013562500004127287}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012789580000003298, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011009159999844087}, "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.00024316700000781566}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006556249999789543, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1365, in test_reading_cdsn_format\n    tr = read(testdata['CDSN_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041354200004661834}, "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.00010745800000222516}}, {"call": {"outcome": "passed", "duration": 0.004522416999975576}, "setup": {"outcome": "passed", "duration": 0.0001846250000312466}, "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.00026295800000752934}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005910374999984924, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1611, in test_libmseed_test_cases\n    assert_valid(test_file, ref_file, test_type)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1445, in assert_valid\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005663750000053369}, "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.00028783299995893685}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004937920000429585, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1633, in test_per_trace_mseed_attributes\n    st = read(buf)\n         ^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002556250000225191}, "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.00015829200003736332}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007155000000125256, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1670, in test_read_mseed_sr0\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021733299996640199}, "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.0001262499999938882}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017114159999778167, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1692, in test_reading_and_writing_zero_sampling_rate_traces\n    tr2 = read(buf)[0]\n          ^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00019745800000237068}, "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.0001857919999679325}}, {"call": {"outcome": "passed", "duration": 0.000827999999955864}, "setup": {"outcome": "passed", "duration": 0.0005275830000073256}, "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.0001249169999937294}}, {"call": {"outcome": "passed", "duration": 0.00043995900000481925}, "setup": {"outcome": "passed", "duration": 0.00021266700002797734}, "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.0001055419999715923}}, {"call": {"outcome": "passed", "duration": 0.0006849580000221067}, "setup": {"outcome": "passed", "duration": 0.00019137499998578278}, "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": 9.429099998214951e-05}}, {"call": {"outcome": "passed", "duration": 0.002985000000023774}, "setup": {"outcome": "passed", "duration": 0.0008240419999765436}, "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.0001418329999864909}}, {"call": {"outcome": "passed", "duration": 0.004527875000007953}, "setup": {"outcome": "passed", "duration": 0.0002200839999773052}, "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.00011416699999244884}}, {"call": {"outcome": "passed", "duration": 0.004006333000006634}, "setup": {"outcome": "passed", "duration": 0.00023183299998663642}, "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.00011050000000523141}}, {"call": {"outcome": "passed", "duration": 0.0037130000000047403}, "setup": {"outcome": "passed", "duration": 0.00021729200000208948}, "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.00011645800003634577}}, {"call": {"outcome": "passed", "duration": 0.0017809579999834568}, "setup": {"outcome": "passed", "duration": 0.00024133300001949465}, "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": 9.69579999718917e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008294170000340273, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 265, in test_write_wrong_encoding\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000223875000017415}, "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.0004826670000284139}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009403749999705724, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 282, in test_write_wrong_encoding_via_mseed_stats\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029412500003900277}, "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.00013695900003085626}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006599579999715388, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 300, in test_wrong_record_length_as_argument\n    read(file, reclen=111)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037587500003155583}, "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.0001348330000041642}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005859159999772601, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 315, in test_read_with_missing_blockette010\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000221624999994674}, "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.00011487500000839646}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007197080000196365, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 331, in test_issue160\n    tr_one = read(file)[0]\n             ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034820799999124574}, "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.000246875000016189}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007641669999998157, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 351, in test_issue217\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001028791999999612}, "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.00021974999998519706}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018073749999985012, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 367, in test_issue296\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00024245899999186804}, "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.00013624999996864062}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007453750000081527, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 444, in test_issue289\n    st = read(file, starttime=UTCDateTime() - 10, endtime=UTCDateTime())\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002281669999888436}, "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.00012662500000715227}}, {"call": {"outcome": "passed", "duration": 0.0006119170000147278}, "setup": {"outcome": "passed", "duration": 0.00034887499998603744}, "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": 9.149999999635838e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008242920000043341, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 481, in test_issue272\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002292500000180553}, "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.00013512499998569183}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011886249999975007, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 495, in test_issue325\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008572500000241234}, "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.0001487920000045051}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00202266700000564, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 533, in test_issue332\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000228165999999419}, "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.0001530839999759337}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002017416000001049, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 551, in test_issue341\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022733299999799783}, "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.00012724999999136344}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017114170000240847, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 574, in test_issue485\n    data = read(filename)[0].data.tolist()\n           ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00024400000000923683}, "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.00034466599998950187}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003926125000020875, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 594, in test_enforcing_reading_byteorder\n    tr2 = read(memfile, header_byteorder=\"<\")[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006499160000430493}, "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.0005679160000227057}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017203750000476248, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 651, in test_long_year_range\n    st2 = read(memfile)\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006070830000339811}, "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.00014633300003197292}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006640000000288637, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 666, in test_full_seed_with_non_default_dataquality\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00026362500000232103}, "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.00012316700002656944}}, {"call": {"stderr": "Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/resource_tracker.py\", line 30, in <module>\n    _IGNORED_SIGNALS = (signal.SIGINT, signal.SIGTERM)\n                        ^^^^^^^^^^^^^\nAttributeError: module 'signal' has no attribute 'SIGINT'\nTraceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/spawn.py\", line 118, in spawn_main\n    from . import resource_tracker\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/resource_tracker.py\", line 30, in <module>\n    _IGNORED_SIGNALS = (signal.SIGINT, signal.SIGTERM)\n                        ^^^^^^^^^^^^^\nAttributeError: module 'signal' has no attribute 'SIGINT'\n", "outcome": "passed", "duration": 4.283359334000011}, "setup": {"outcome": "passed", "duration": 0.0003111660000172378}, "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.0003772079999748712}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00627433300002167, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 737, in test_microsecond_accuracy_reading_and_writing_before_1970\n    tr2 = read(fh)[0]\n          ^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007548749999841675}, "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.0005632909999917501}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002329833999965558, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 750, in test_reading_noise_records\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004526669999904698}, "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.0003192500000182008}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018541250000225773, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 772, in test_read_file_with_various_noise_records\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032745800001521275}, "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.00019895899998800815}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000765166999997291, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 806, in test_mseed_zero_data_offset\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000338875000011285}, "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.00014104199999565026}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017335410000214324, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 846, in test_mseed_zero_data_headonly\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002921250000440523}, "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.0006573750000029577}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002539124999998421, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 887, in test_read_file_with_microsecond_wrap\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008334579999882408}, "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.00015679199998430704}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016299160000130541, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 914, in test_reading_miniseed_with_no_blockette_1000\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031866699998772674}, "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.0004960829999731686}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006998375000023316, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 948, in test_writing_of_blockette_100\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006333330000529713}, "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.0004279589999782729}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008602910000377051, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 1030, in test_reading_file_with_data_offset_of_48\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000874040999974568}, "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.00015662499998825297}}, {"call": {"outcome": "passed", "duration": 0.001639042000022073}, "setup": {"outcome": "passed", "duration": 0.00025170800000751115}, "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": 9.82910000288939e-05}}, {"call": {"outcome": "passed", "duration": 0.001053667000007863}, "setup": {"outcome": "passed", "duration": 0.00023216599998931997}, "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.00012270799999214432}}, {"call": {"outcome": "passed", "duration": 0.0066145830000436945}, "setup": {"outcome": "passed", "duration": 0.0002342080000516944}, "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.0001190419999943515}}, {"call": {"outcome": "passed", "duration": 0.07505550000001904}, "setup": {"outcome": "passed", "duration": 0.0002915000000029977}, "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.0005858339999917916}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007977790999973422, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 1201, in test_reading_files_with_non_ascii_headers\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.002330249999999978}, "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.0007660420000092927}}, {"call": {"outcome": "passed", "duration": 0.0005684169999540245}, "setup": {"outcome": "passed", "duration": 0.0005588749999674292}, "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.00012504200003604637}}, {"call": {"outcome": "passed", "duration": 0.00035245800000893723}, "setup": {"outcome": "passed", "duration": 0.00020937499999718057}, "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": 8.350000001655644e-05}}, {"call": {"outcome": "passed", "duration": 0.001010375000021213}, "setup": {"outcome": "passed", "duration": 0.0009438750000185792}, "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": 9.324999996351835e-05}}, {"call": {"outcome": "passed", "duration": 0.00039624999999432475}, "setup": {"outcome": "passed", "duration": 0.00023783299997148788}, "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.0003224579999709931}}, {"call": {"outcome": "passed", "duration": 0.0011934999999994034}, "setup": {"outcome": "passed", "duration": 0.00032475000000431464}, "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.0004358329999831767}}, {"call": {"outcome": "passed", "duration": 0.004822375000003376}, "setup": {"outcome": "passed", "duration": 0.00030720900002734197}, "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.0007383330000152455}}, {"call": {"outcome": "passed", "duration": 0.15881749999999784}, "setup": {"outcome": "passed", "duration": 0.0003029580000202259}, "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.0001348330000041642}}, {"call": {"outcome": "passed", "duration": 0.1127956660000109}, "setup": {"outcome": "passed", "duration": 0.0009958340000366661}, "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.0002094170000077611}}, {"call": {"outcome": "passed", "duration": 0.01213366600001109}, "setup": {"outcome": "passed", "duration": 0.0002777079999987109}, "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.00013229199998932017}}, {"call": {"outcome": "passed", "duration": 0.01829662500000495}, "setup": {"outcome": "passed", "duration": 0.0002531659999931435}, "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.00012699999996357292}}, {"call": {"outcome": "passed", "duration": 0.0051381250000304135}, "setup": {"outcome": "passed", "duration": 0.00025820900003736824}, "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.0003958749999810607}}, {"call": {"outcome": "passed", "duration": 0.002826792000007572}, "setup": {"outcome": "passed", "duration": 0.0002658330000144815}, "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.0003807919999871956}}, {"call": {"outcome": "passed", "duration": 0.02958345899997994}, "setup": {"outcome": "passed", "duration": 0.0004146250000189866}, "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.0001264999999648353}}, {"call": {"outcome": "passed", "duration": 0.012682958000027611}, "setup": {"outcome": "passed", "duration": 0.00026866600001085317}, "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.00012320899998030654}}, {"call": {"outcome": "passed", "duration": 0.011919207999994796}, "setup": {"outcome": "passed", "duration": 0.0004062080000153401}, "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.0005174170000259437}}, {"call": {"outcome": "passed", "duration": 0.011416832999998405}, "setup": {"outcome": "passed", "duration": 0.0003002920000199083}, "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.00012637500003620517}}, {"call": {"outcome": "passed", "duration": 0.002449375000026066}, "setup": {"outcome": "passed", "duration": 0.00022695799998473376}, "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.0002779999999802385}}, {"call": {"outcome": "passed", "duration": 0.002169917000003352}, "setup": {"outcome": "passed", "duration": 0.0005448750000027758}, "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.0003399999999942338}}, {"call": {"outcome": "passed", "duration": 0.05418541599999571}, "setup": {"outcome": "passed", "duration": 0.0005965830000036476}, "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.00013695799998458824}}, {"call": {"outcome": "passed", "duration": 0.005186582999954226}, "setup": {"outcome": "passed", "duration": 0.00038066600001229745}, "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.00013595900003338102}}, {"call": {"outcome": "passed", "duration": 0.026199916999985362}, "setup": {"outcome": "passed", "duration": 0.00026216699995984527}, "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.0003050830000006499}}, {"call": {"outcome": "passed", "duration": 0.002309292000006735}, "setup": {"outcome": "passed", "duration": 0.00027004099996474906}, "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.0003572089999579475}}, {"call": {"outcome": "passed", "duration": 0.0031062909999945987}, "setup": {"outcome": "passed", "duration": 0.02134854199999836}, "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.0003189590000260978}}, {"call": {"outcome": "passed", "duration": 0.0041217080000137685}, "setup": {"outcome": "passed", "duration": 0.0014252500000111468}, "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.00012245800002119722}}, {"call": {"outcome": "passed", "duration": 0.0021664999999870815}, "setup": {"outcome": "passed", "duration": 0.0002707080000163842}, "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.00011449999999513238}}, {"call": {"outcome": "passed", "duration": 0.006137332999969658}, "setup": {"outcome": "passed", "duration": 0.0003785000000107175}, "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.0003602500000283726}}, {"call": {"outcome": "passed", "duration": 0.002346375000001899}, "setup": {"outcome": "passed", "duration": 0.0008085840000262579}, "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.00036466599999585014}}, {"call": {"outcome": "passed", "duration": 0.0011718750000113687}, "setup": {"outcome": "passed", "duration": 0.0003532910000103584}, "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.00010833400000365145}}, {"call": {"outcome": "passed", "duration": 0.0009806669999647966}, "setup": {"outcome": "passed", "duration": 0.0002340000000344844}, "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": 9.466699998483818e-05}}, {"call": {"outcome": "passed", "duration": 0.0012405829999693196}, "setup": {"outcome": "passed", "duration": 0.0003507919999492515}, "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.00017416700001149366}}, {"call": {"outcome": "passed", "duration": 0.05980249999998932}, "setup": {"outcome": "passed", "duration": 0.00023566600003732674}, "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.00013170800002626493}}, {"call": {"outcome": "passed", "duration": 0.005152291000001696}, "setup": {"outcome": "passed", "duration": 0.00022895800003652766}, "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.00026050000002442175}}, {"call": {"outcome": "passed", "duration": 0.006731166999998095}, "setup": {"outcome": "passed", "duration": 0.00023883399995838772}, "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.00012170799999466908}}, {"call": {"outcome": "failed", "duration": 0.006705541999963316, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ndk[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/__init__.py:60: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.001060583000025872}, "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.00014304199999060074}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.013165666000020337, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 26, in test_read_single_ndk\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008561669999949117}, "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.00014170800000101735}}, {"call": {"outcome": "passed", "duration": 0.02549287499999764}, "setup": {"outcome": "passed", "duration": 0.00022933299999294832}, "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.00012841599999546816}}, {"call": {"outcome": "passed", "duration": 0.0014937500000087311}, "setup": {"outcome": "passed", "duration": 0.0003445410000040283}, "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.0001487920000045051}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006871250000131113, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 85, in test_reading_using_obspy_plugin\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005259579999687958}, "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.00011816700003919323}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003386250000403379, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 100, in test_reading_from_string_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021054100000128528}, "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.000254957999970884}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003365829999779635, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 116, in test_reading_from_bytes_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023200000003953392}, "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.00017170799998211805}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005540410000435259, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 130, in test_reading_from_open_file_in_text_mode\n    cat = read_events(fh)\n          ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021137499999213105}, "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.00011075000003302193}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0002644580000037422, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 143, in test_reading_from_open_file_in_binary_mode\n    cat = read_events(fh)\n          ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020458300002701435}, "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.00011020899995628497}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005647500000236505, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 157, in test_reading_the_same_file_twice_does_not_raise_a_warnings\n    cat_1 = read_events(filename)\n            ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022312499999088686}, "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.00014670899997781817}}, {"call": {"outcome": "passed", "duration": 0.0006966249999891261}, "setup": {"outcome": "passed", "duration": 0.00023233299998537404}, "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": 9.229099998719903e-05}}, {"call": {"outcome": "passed", "duration": 0.00045458400001052723}, "setup": {"outcome": "passed", "duration": 0.0002976250000301661}, "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": 9.087499995530379e-05}}, {"call": {"outcome": "passed", "duration": 0.000585457999989103}, "setup": {"outcome": "passed", "duration": 0.0003020830000082242}, "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": 8.516700000882338e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007912080000096466, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 202, in test_reading_file_with_multiple_errors\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00018020900000692563}, "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.00011987499999577267}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005862089999482123, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 222, in test_reading_from_string\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004601669999715341}, "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.00011354200000823766}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004745840000168755, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 239, in test_reading_from_bytestring\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020250000000032742}, "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.000146292000010817}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003147500000295622, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 262, in test_missing_lines\n    cat = read_events(data)\n          ^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021841699998503827}, "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.00011958300001424504}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009553329999789639, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 280, in test_reading_event_with_faulty_but_often_occurring_timestamp\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021791700004314407}, "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.00014508300000670715}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003070409999850199, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 302, in test_raise_exception_if_no_events_in_file\n    read_events(data)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021962499999972351}, "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.00010699999995722465}}, {"call": {"outcome": "passed", "duration": 0.002694333999954779}, "setup": {"outcome": "passed", "duration": 0.00017050000002427623}, "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.00014187499999707143}}, {"call": {"outcome": "failed", "duration": 0.005597416000000521, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.nied[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00045891700000311175}, "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.00016295799997578797}}, {"call": {"outcome": "passed", "duration": 0.016300416999968093}, "setup": {"outcome": "passed", "duration": 0.0010736250000036307}, "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.00012070899998661844}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003000419999921178, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_fnetmt_reading.py\", line 26, in test_read_fnetmt_catalog_from_open_files\n    read_events(fh)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002654169999800615}, "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.0002357910000228003}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00026866700000027777, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_fnetmt_reading.py\", line 38, in test_read_fnetmt_catalog_from_bytes_io\n    read_events(buf)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023833300002706892}, "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.00017208299999538212}}, {"call": {"outcome": "passed", "duration": 0.0006782500000213076}, "setup": {"outcome": "passed", "duration": 0.00026324999998905696}, "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.0001506250000034015}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001181416999997964, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 16, in test_read_knet_ascii\n    tr = read(testfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044004199997971227}, "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.0003261670000256345}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010990000000106193, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 30, in test_read_knet_ascii_from_open_files\n    tr = read(testfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002391670000179147}, "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.00017345800000612144}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005702079999991838, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 49, in test_read_knet_ascii_from_bytes_io\n    tr = read(buf)[0]\n         ^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005072920000088743}, "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.00013158300004079138}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007664590000331373, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 65, in test_station_name_hack\n    tr = read(testfile, convert_stnm=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021404099999244863}, "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.00017324999998891144}}, {"call": {"outcome": "passed", "duration": 0.000859541000011177}, "setup": {"outcome": "passed", "duration": 0.00021075000000791988}, "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.00014954100004160864}}, {"call": {"outcome": "passed", "duration": 0.002804916000002322}, "setup": {"outcome": "passed", "duration": 0.00021495900000445545}, "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.00011116700000002311}}, {"call": {"outcome": "failed", "duration": 0.006228000000021439, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.nlloc[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004635829999983798}, "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.00014783299997134236}}, {"call": {"outcome": "passed", "duration": 0.022449832999996033}, "setup": {"outcome": "passed", "duration": 0.0008771660000093107}, "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.0001871250000249347}}, {"call": {"outcome": "passed", "duration": 0.08211079199998039}, "setup": {"outcome": "passed", "duration": 0.0002646669999535334}, "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.00013758300002564283}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00508212500000127, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/tests/test_core.py\", line 117, in test_read_nlloc_hyp_with_builtin_projection\n    cat_expected = read_events(testdata[\"nlloc.qml\"])\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00024879200003624646}, "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.0002399169999875994}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006510000000048421, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/tests/test_core.py\", line 222, in test_read_nlloc_hyp_via_plugin\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000293083000030947}, "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.000499499999989439}}, {"call": {"outcome": "passed", "duration": 0.02645408299997598}, "setup": {"outcome": "passed", "duration": 0.0002579579999633097}, "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.00011779199996908574}}, {"call": {"outcome": "passed", "duration": 0.0004587500000070577}, "setup": {"outcome": "passed", "duration": 0.0006329590000291319}, "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": 9.770899998784444e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005848750000154723, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/tests/test_core.py\", line 274, in test_read_nlloc_with_picks\n    picks = read_events(testdata[\"nlloc_custom.qml\"])[0].picks\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021020899998802633}, "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.00011229200003981532}}, {"call": {"outcome": "passed", "duration": 0.0065617919999567675}, "setup": {"outcome": "passed", "duration": 0.0008435410000515731}, "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.0004112499999564534}}, {"call": {"outcome": "passed", "duration": 0.008116332999975384}, "setup": {"outcome": "passed", "duration": 0.0009650000000078762}, "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.0001384579999808011}}, {"call": {"outcome": "passed", "duration": 0.003662958000006711}, "setup": {"outcome": "passed", "duration": 0.0002816250000137188}, "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.0001192500000115615}}, {"call": {"outcome": "passed", "duration": 0.0034770829999501984}, "setup": {"outcome": "passed", "duration": 0.00025241600002345876}, "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.00011683299999276642}}, {"call": {"outcome": "passed", "duration": 0.003628750000018499}, "setup": {"outcome": "passed", "duration": 0.00024074999998902058}, "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.0001325420000171107}}, {"call": {"outcome": "passed", "duration": 0.0006120830000213573}, "setup": {"outcome": "passed", "duration": 0.00019070899998041568}, "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.00017079100001637926}}, {"call": {"outcome": "passed", "duration": 0.000888541999984227}, "setup": {"outcome": "passed", "duration": 0.0004978749999509091}, "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.00041220900004645955}}, {"call": {"outcome": "passed", "duration": 0.3182897080000089}, "setup": {"outcome": "passed", "duration": 0.0008463749999805259}, "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.00018595799997456197}}, {"call": {"outcome": "passed", "duration": 0.003273207999995975}, "setup": {"outcome": "passed", "duration": 0.0005403330000035567}, "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.00013208299998268558}}, {"call": {"outcome": "passed", "duration": 0.04766925000001265}, "setup": {"outcome": "passed", "duration": 0.002051082999969367}, "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.0001467499999989741}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06970566699999381, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 165, in test_write_read_quakeml\n    cat_back = read_events(tf.name)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001227332999974351}, "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.00043091700001696154}}, {"call": {"outcome": "passed", "duration": 0.005801999999960117}, "setup": {"outcome": "passed", "duration": 0.0007596250000005966}, "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.0003297920000022714}}, {"call": {"outcome": "passed", "duration": 0.02780870800000912}, "setup": {"outcome": "passed", "duration": 0.0002644169999825863}, "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.0001399999999875945}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00301083300001892, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 262, in test_blanksfile\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000834457999985716}, "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.0003192919999719379}}, {"call": {"outcome": "passed", "duration": 0.002415832999986378}, "setup": {"outcome": "passed", "duration": 0.00021679200000335186}, "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.00010674999998627754}}, {"call": {"outcome": "passed", "duration": 0.08705800000001318}, "setup": {"outcome": "passed", "duration": 0.00022370900001078553}, "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.0001823750000085056}}, {"call": {"outcome": "passed", "duration": 0.030297749999988355}, "setup": {"outcome": "passed", "duration": 0.0002570409999975709}, "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.000127374999976837}}, {"call": {"outcome": "passed", "duration": 0.004355416999999306}, "setup": {"outcome": "passed", "duration": 0.00024770799996076676}, "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.00011841700001014033}}, {"call": {"outcome": "passed", "duration": 0.0011219170000345002}, "setup": {"outcome": "passed", "duration": 0.00023037500000100408}, "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.0003007920000186459}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000311791000001449, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 378, in test_reading_string_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002998339999749078}, "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.00012287500004504182}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008689590000017233, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 393, in test_reading_bytes_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005175000000008367}, "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.0002739170000154445}}, {"call": {"outcome": "passed", "duration": 0.0006799170000135746}, "setup": {"outcome": "passed", "duration": 0.00023104199999579578}, "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": 8.95000000014079e-05}}, {"call": {"outcome": "passed", "duration": 0.2732870000000389}, "setup": {"outcome": "passed", "duration": 0.00019654199996921307}, "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.0006082090000063545}}, {"call": {"outcome": "passed", "duration": 0.00019424999999273496}, "setup": {"outcome": "passed", "duration": 0.0007045410000046104}, "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.00010174999999890133}}, {"call": {"outcome": "passed", "duration": 0.0002324160000171105}, "setup": {"outcome": "passed", "duration": 0.0004204589999972086}, "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.00011050000000523141}}, {"call": {"outcome": "passed", "duration": 0.03125545800003238}, "setup": {"outcome": "passed", "duration": 0.0003004999999802749}, "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.00012487499998314888}}, {"call": {"outcome": "passed", "duration": 0.019982583000000886}, "setup": {"outcome": "passed", "duration": 0.00024045899999691756}, "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.0004112500000132968}}, {"call": {"outcome": "passed", "duration": 0.04857983400000876}, "setup": {"outcome": "passed", "duration": 0.00032045799997604263}, "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.00013483299994732079}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00437145800003691, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 520, in test_read_latin1\n    cat = read_events(dos_file)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002743329999930211}, "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.000167540999996163}}, {"call": {"outcome": "passed", "duration": 0.6031654579999781}, "setup": {"outcome": "passed", "duration": 0.00023612500001490844}, "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.0001467499999989741}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009749580000288915, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 539, in test_write_select\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023158300001568932}, "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.0001647920000209524}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009191670000063823, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 554, in test_write_select_new\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002188750000300388}, "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.00013408300003447948}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012853340000447133, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 569, in test_write_plugin\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007852919999891128}, "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.0009702919999767801}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.031762667000009515, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 598, in test_more_than_three_mags\n    cat_back = read_events(tf.name)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002301670000406375}, "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.00016562500002237357}}, {"call": {"outcome": "passed", "duration": 0.011705417000030138}, "setup": {"outcome": "passed", "duration": 0.00023666699996738316}, "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.001441541000019697}}, {"call": {"outcome": "passed", "duration": 0.011596832999998696}, "setup": {"outcome": "passed", "duration": 0.0006572920000280646}, "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.00013645799998585062}}, {"call": {"outcome": "passed", "duration": 0.033994790999997804}, "setup": {"outcome": "passed", "duration": 0.00026141699999016055}, "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.0001397500000166474}}, {"call": {"outcome": "passed", "duration": 0.0015982080000185306}, "setup": {"outcome": "passed", "duration": 0.0007197079999627931}, "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.00010704199996780517}}, {"call": {"outcome": "passed", "duration": 0.0009655420000171944}, "setup": {"outcome": "passed", "duration": 0.00047137499996097176}, "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.00011625000001913577}}, {"call": {"outcome": "passed", "duration": 0.008873584000014034}, "setup": {"outcome": "passed", "duration": 0.00032679200000984565}, "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.00013641700002153812}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006803750000017317, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 708, in test_distance_conversion\n    cat = read_events(testing_path)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002554999999802021}, "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.00011808300001803218}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.010306667000008929, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 728, in test_large_negative_longitude\n    event_back = read_events(tf.name)\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00018549999998640487}, "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.00018208400001640257}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.02017820800000436, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 746, in test_write_preferred_origin\n    event_back = read_events(tf.name)\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002800000000320324}, "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.0001777079999669695}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001541666000036912, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 760, in test_read_high_precision_pick\n    cat = read_events(\n          ^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002590830000031019}, "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.00035700000000815635}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007706669999834048, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 779, in test_high_precision_read_write\n    cat = read_events(testdata['sfile_high_precision_picks'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005156249999913598}, "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.0003449580000278729}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008581660000004376, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 824, in test_long_phase_name\n    cat = read_events(testdata['sfile_long_phase'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00027833300003976547}, "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.0001922500000546279}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008607208999990235, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 856, in test_read_write_over_day\n    event_back = read_events(tf.name)[0]\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.002076415999965775}, "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.00040058399997633387}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008105000000000473, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 865, in test_seconds_overflow\n    cat = read_events(testdata['sfile_seconds_overflow'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000641874999985248}, "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.00017050000002427623}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007516249999639513, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 892, in test_read_bad_covariance\n    cat = read_events(testdata['sfile_bad_covariance'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023587499998711792}, "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.0005876249999801075}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002039916000001085, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 901, in test_read_high_accuracy\n    cat = read_events(testdata['sfile_highaccuracy'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006124999999883585}, "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.00017687500002239176}}, {"call": {"outcome": "passed", "duration": 0.0014562079999791422}, "setup": {"outcome": "passed", "duration": 0.0002098749999959182}, "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.00010141699999621778}}, {"call": {"outcome": "passed", "duration": 0.00037816700000803394}, "setup": {"outcome": "passed", "duration": 0.00019583400001010887}, "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": 9.779099997331286e-05}}, {"call": {"outcome": "passed", "duration": 0.00045095800004446573}, "setup": {"outcome": "passed", "duration": 0.0002820000000269829}, "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.0002617499999928441}}, {"call": {"outcome": "passed", "duration": 0.0002317500000117434}, "setup": {"outcome": "passed", "duration": 0.00018745799997077484}, "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": 8.966699999746197e-05}}, {"call": {"outcome": "passed", "duration": 0.0002494169999636142}, "setup": {"outcome": "passed", "duration": 0.000294624999980897}, "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": 9.074999996983024e-05}}, {"call": {"outcome": "passed", "duration": 0.0006598749999966458}, "setup": {"outcome": "passed", "duration": 0.0001914169999963633}, "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": 9.37909999834119e-05}}, {"call": {"outcome": "passed", "duration": 0.04571629200000871}, "setup": {"outcome": "passed", "duration": 0.00028487499997709165}, "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.00023191700000779747}}, {"call": {"outcome": "passed", "duration": 0.04770562500004871}, "setup": {"outcome": "passed", "duration": 0.00033087499997463965}, "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.00037233299997296854}}, {"call": {"outcome": "passed", "duration": 0.06765554099996507}, "setup": {"outcome": "passed", "duration": 0.00034658300000955933}, "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.00046883400000297115}}, {"call": {"outcome": "passed", "duration": 0.08275979200004713}, "setup": {"outcome": "passed", "duration": 0.0009968340000341414}, "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.0002445829999828675}}, {"call": {"outcome": "passed", "duration": 0.09420316699998921}, "setup": {"outcome": "passed", "duration": 0.0010785000000055334}, "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.0005287500000008549}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008002919999512415, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 1134, in test_read_uncert_ellipse\n    cat = read_events(testdata['sfile_highaccuracy'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002820000000269829}, "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.00016316599999299797}}, {"call": {"outcome": "passed", "duration": 0.0162406250000231}, "setup": {"outcome": "passed", "duration": 0.00023283400003037968}, "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.0001846659999955591}}, {"call": {"outcome": "passed", "duration": 0.06333287500001461}, "setup": {"outcome": "passed", "duration": 0.0008740000000102555}, "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.0005266250000204309}}, {"call": {"outcome": "skipped", "duration": 0.00017299999996112092, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0002683330000081696}, "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.00012162500001977605}}, {"call": {"outcome": "passed", "duration": 0.0019351250000454456}, "setup": {"outcome": "passed", "duration": 0.0002500829999689813}, "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.00017304200002854486}}, {"call": {"outcome": "passed", "duration": 0.00170029200000954}, "setup": {"outcome": "passed", "duration": 0.00022241600004235806}, "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.00010466700001643403}}, {"call": {"outcome": "skipped", "duration": 0.00012041600001566621, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00019379200000457786}, "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": 8.466700001008576e-05}}, {"call": {"outcome": "passed", "duration": 0.002769250000028478}, "setup": {"outcome": "passed", "duration": 0.0007106659999749354}, "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.00020004100002779523}}, {"call": {"outcome": "failed", "duration": 0.010968583000021681, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.pdas.core._read_pdas[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/pdas/core.py:57: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006108329999960915}, "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.00016116599999804748}}, {"call": {"outcome": "passed", "duration": 0.0006956249999916508}, "setup": {"outcome": "passed", "duration": 0.0007515000000353211}, "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": 9.449999998878411e-05}}, {"call": {"outcome": "passed", "duration": 0.0003319169999826954}, "setup": {"outcome": "passed", "duration": 0.00023633400002154303}, "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.0001573750000147811}}, {"call": {"outcome": "skipped", "duration": 0.00029816699998264085, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0015382920000206468}, "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.00011887499999829743}}, {"call": {"outcome": "failed", "duration": 0.008830792000026122, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.pde.mchedr._read_mchedr[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/pde/mchedr.py:1080: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00022629099998994207}, "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.00015312499999708962}}, {"call": {"outcome": "passed", "duration": 0.00037912499999492866}, "setup": {"outcome": "passed", "duration": 0.07453233300003603}, "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.00011491699996213356}}, {"call": {"outcome": "passed", "duration": 0.0007480840000084754}, "setup": {"outcome": "passed", "duration": 0.0855415419999872}, "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.0003292079999823727}}, {"call": {"outcome": "passed", "duration": 0.0018555830000082096}, "setup": {"outcome": "passed", "duration": 0.07716708299994934}, "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.00013066700000763376}}, {"call": {"outcome": "passed", "duration": 0.0002924169999687365}, "setup": {"outcome": "passed", "duration": 0.0854024999999865}, "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.0005594579999979032}}, {"call": {"outcome": "passed", "duration": 0.00043541700000560013}, "setup": {"outcome": "passed", "duration": 0.10504874999998037}, "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.0001497089999702439}}, {"call": {"outcome": "passed", "duration": 0.0002167079999821908}, "setup": {"outcome": "passed", "duration": 0.09151770799996939}, "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.00037725000004229514}}, {"call": {"outcome": "passed", "duration": 0.0003390840000179196}, "setup": {"outcome": "passed", "duration": 0.08714354199997842}, "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.00012412500001346416}}, {"call": {"outcome": "passed", "duration": 0.00034729100002550695}, "setup": {"outcome": "passed", "duration": 0.08197604200000796}, "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.00012754200002973448}}, {"call": {"outcome": "passed", "duration": 0.0016688750000071195}, "setup": {"outcome": "passed", "duration": 0.08988091599997006}, "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.0001395410000100128}}, {"call": {"outcome": "passed", "duration": 0.13837241700002778}, "setup": {"outcome": "passed", "duration": 0.0776471249999986}, "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.0004781669999829319}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007371250000005602, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/pde/tests/test_mchedr.py\", line 307, in test_read_events\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.08080758300002344}, "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.00031979200002751895}}, {"call": {"outcome": "passed", "duration": 0.002462458999957562}, "setup": {"outcome": "passed", "duration": 0.0004935000000045875}, "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.00012275000000272485}}, {"call": {"outcome": "passed", "duration": 0.010448957999983577}, "setup": {"outcome": "passed", "duration": 0.0007262909999781186}, "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.00017554099997596495}}, {"call": {"outcome": "passed", "duration": 0.0037806250000471664}, "setup": {"outcome": "passed", "duration": 0.00024137500003007517}, "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.0001323330000104761}}, {"call": {"outcome": "passed", "duration": 0.0037105420000216327}, "setup": {"outcome": "passed", "duration": 0.0003702079999925445}, "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.00012591700004804807}}, {"call": {"outcome": "passed", "duration": 0.0037503749999814318}, "setup": {"outcome": "passed", "duration": 0.0008648340000263488}, "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.0004129999999804568}}, {"call": {"outcome": "passed", "duration": 0.004595332999997481}, "setup": {"outcome": "passed", "duration": 0.0004673750000279142}, "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.00013474999997242776}}, {"call": {"outcome": "passed", "duration": 0.0022957909999945514}, "setup": {"outcome": "passed", "duration": 0.0003206250000289401}, "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.00043612500002154775}}, {"call": {"outcome": "skipped", "duration": 0.00042670799996358255, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0005427499999655083}, "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.00013895799997953873}}, {"call": {"outcome": "failed", "duration": 0.004981708000002527, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.quakeml.core._read_quakeml[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/core.py:1827: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002484999999978754}, "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.00022624999996878614}}, {"call": {"outcome": "passed", "duration": 0.04374599999999873}, "setup": {"outcome": "passed", "duration": 0.0022312500000225555}, "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.0001481659999740259}}, {"call": {"outcome": "passed", "duration": 0.011513707999995404}, "setup": {"outcome": "passed", "duration": 0.00030499999996891347}, "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.00012100000003556488}}, {"call": {"outcome": "passed", "duration": 0.0032654579999871203}, "setup": {"outcome": "passed", "duration": 0.0002410419999705482}, "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.00010783400000491383}}, {"call": {"outcome": "passed", "duration": 0.011927667000009023}, "setup": {"outcome": "passed", "duration": 0.00022420800002009855}, "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.00012216699997225078}}, {"call": {"outcome": "passed", "duration": 0.004693292000013116}, "setup": {"outcome": "passed", "duration": 0.00026541600004748034}, "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.0001339579999921625}}, {"call": {"outcome": "passed", "duration": 0.014637459000027775}, "setup": {"outcome": "passed", "duration": 0.00261875000001055}, "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.00012125000000651198}}, {"call": {"outcome": "passed", "duration": 0.002009375000000091}, "setup": {"outcome": "passed", "duration": 0.00032974999999169086}, "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.00011045799999465089}}, {"call": {"outcome": "passed", "duration": 0.005571667000026537}, "setup": {"outcome": "passed", "duration": 0.000756874999979118}, "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.000125750000051994}}, {"call": {"outcome": "passed", "duration": 0.004244000000028336}, "setup": {"outcome": "passed", "duration": 0.0003799159999857693}, "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.000125542000034784}}, {"call": {"outcome": "passed", "duration": 0.003983166000011806}, "setup": {"outcome": "passed", "duration": 0.0008815420000019003}, "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.00011625000001913577}}, {"call": {"outcome": "passed", "duration": 0.01624850000001743}, "setup": {"outcome": "passed", "duration": 0.0002453330000093956}, "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.0008216249999577485}}, {"call": {"outcome": "passed", "duration": 0.01721183399996562}, "setup": {"outcome": "passed", "duration": 0.00029004100002794075}, "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.00012908399997968445}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008283750000259715, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 562, in test_read_events\n    catalog = read_events(testdata['neries_events.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002624169999876358}, "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.0001258329999700436}}, {"call": {"outcome": "passed", "duration": 0.0016084580000210735}, "setup": {"outcome": "passed", "duration": 0.00021995800000240706}, "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.0002998749999960637}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00027470899999570975, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 646, in test_read_string\n    catalog = read_events(data)\n              ^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 730, in _generic_reader\n    return callback_func(io.BytesIO(pathname_or_url), **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023700000002691013}, "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.00010112499995784674}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008989170000290869, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 661, in test_preferred_tags\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020320900000569964}, "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.00013204099997210506}}, {"call": {"outcome": "passed", "duration": 0.005970082999965598}, "setup": {"outcome": "passed", "duration": 0.00019145900000694382}, "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.00011058300003696786}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005488330000389396, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 756, in test_read_equivalence\n    cat1 = read_events(testdata['neries_events.xml'])\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000215083999989929}, "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.00036512499997343184}}, {"call": {"outcome": "passed", "duration": 0.00867254199999934}, "setup": {"outcome": "passed", "duration": 0.0007173749999651591}, "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.00012470900003336283}}, {"call": {"outcome": "passed", "duration": 0.003950832999976228}, "setup": {"outcome": "passed", "duration": 0.0002519159999678777}, "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.00045708300001479074}}, {"call": {"outcome": "passed", "duration": 0.004327124999974785}, "setup": {"outcome": "passed", "duration": 0.000284791000012774}, "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.00013375000003179593}}, {"call": {"outcome": "passed", "duration": 0.015391166000028988}, "setup": {"outcome": "passed", "duration": 0.00033879099999012396}, "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.00011958300001424504}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00023475000000416912, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 990, in test_read_same_file_twice_to_same_variable\n    cat1 = read_events(sio)  # NOQA\n           ^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021041700000523633}, "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.00014445800002249598}}, {"call": {"outcome": "passed", "duration": 0.004318708999960563}, "setup": {"outcome": "passed", "duration": 0.00027895800002397664}, "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.00033224999998537896}}, {"call": {"outcome": "passed", "duration": 0.010919624999985444}, "setup": {"outcome": "passed", "duration": 0.0002423750000275504}, "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.0004217919999973674}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001120624999998654, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1060, in test_writing_invalid_quakeml_id\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005966669999679652}, "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.0001702499999964857}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018507500000168875, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1083, in test_reading_invalid_enums\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033941600003117856}, "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.00042041599999720347}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009690409999620897, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1101, in test_issue_2339\n    cat1 = Catalog(events=[read_events()[0]])\n                           ^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000602415999992445}, "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.0003133330000082424}}, {"call": {"outcome": "passed", "duration": 0.0033953340000039134}, "setup": {"outcome": "passed", "duration": 0.0005989999999655993}, "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.00016791699999885168}}, {"call": {"outcome": "failed", "duration": 0.008963833000052546, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.reftek[4]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/reftek/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000480957999968723}, "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.00014099999998506973}}, {"call": {"outcome": "passed", "duration": 0.03339862499996116}, "setup": {"outcome": "passed", "duration": 0.0008652920000145059}, "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.00045783299998447546}}, {"call": {"outcome": "passed", "duration": 0.00400558300003695}, "setup": {"outcome": "passed", "duration": 0.00041562499995961844}, "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.00013524999997116538}}, {"call": {"outcome": "passed", "duration": 0.028675832999965678}, "setup": {"outcome": "passed", "duration": 0.00042529199998853073}, "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.00015750000000025466}}, {"call": {"outcome": "passed", "duration": 0.0015257090000204698}, "setup": {"outcome": "passed", "duration": 0.00030266700002812286}, "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.00011687500000334694}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006184579999626294, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/reftek/tests/test_core.py\", line 203, in test_integration_with_obspy_core\n    st_reftek = obspy.read(\n                ^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028083400002287817}, "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.0001266660000283082}}, {"call": {"outcome": "passed", "duration": 0.001185249999991811}, "setup": {"outcome": "passed", "duration": 0.0006774999999947795}, "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.00035587500002520756}}, {"call": {"outcome": "passed", "duration": 0.016783707999991293}, "setup": {"outcome": "passed", "duration": 0.0006985409999629155}, "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.000319666999985202}}, {"call": {"outcome": "passed", "duration": 0.034805500000004486}, "setup": {"outcome": "passed", "duration": 0.00034666699997387695}, "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.00014191700000765195}}, {"call": {"outcome": "passed", "duration": 0.020147082999983468}, "setup": {"outcome": "passed", "duration": 0.000309332999961498}, "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.00013925000001790977}}, {"call": {"outcome": "passed", "duration": 0.02474729200002912}, "setup": {"outcome": "passed", "duration": 0.0002935829999728412}, "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.00013429099999484606}}, {"call": {"outcome": "passed", "duration": 0.03155870800003413}, "setup": {"outcome": "passed", "duration": 0.0003009580000252754}, "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.0001409579999744892}}, {"call": {"outcome": "passed", "duration": 0.004250791999993453}, "setup": {"outcome": "passed", "duration": 0.0003061670000192862}, "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.00012429100002009363}}, {"call": {"outcome": "passed", "duration": 0.0011291249999771935}, "setup": {"outcome": "passed", "duration": 0.0002739170000154445}, "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.00022891700001537174}}, {"call": {"outcome": "passed", "duration": 0.001166624999996202}, "setup": {"outcome": "passed", "duration": 0.00026362500000232103}, "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.00010733299995990819}}, {"call": {"outcome": "passed", "duration": 0.005425250000030246}, "setup": {"outcome": "passed", "duration": 0.00023541600000953622}, "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.00012033299998392977}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000984749999986434, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/reftek/tests/test_core.py\", line 508, in test_reading_packet_with_vpu_float_string\n    st = obspy.read(self.reftek_file_vpu,\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00026383300001953103}, "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.00011329199998044714}}, {"call": {"outcome": "passed", "duration": 0.0260133749999909}, "setup": {"outcome": "passed", "duration": 0.0002435000000104992}, "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.00014899999996487168}}, {"call": {"outcome": "passed", "duration": 0.0026761659999579024}, "setup": {"outcome": "passed", "duration": 0.0006049579999967136}, "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.00012387500004251706}}, {"call": {"outcome": "passed", "duration": 0.003803292000043257}, "setup": {"outcome": "passed", "duration": 0.0002809590000083517}, "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.00016670899998416644}}, {"call": {"outcome": "passed", "duration": 0.0033668750000401815}, "setup": {"outcome": "passed", "duration": 0.0004912080000281094}, "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.0002786670000318736}}, {"call": {"outcome": "failed", "duration": 0.01028999999999769, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.rg16[3]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/rg16/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006960000000049149}, "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.00015891699996473108}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006685829999923953, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/rg16/tests/test_read_rg16.py\", line 31, in test_reading_rg16_files\n    st_1 = read(fcnt_file)\n           ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00164845800003377}, "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.00012341699999751654}}, {"call": {"outcome": "passed", "duration": 0.0006132919999686237}, "setup": {"outcome": "passed", "duration": 0.00028579100001024926}, "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.00010108399999353423}}, {"call": {"outcome": "passed", "duration": 0.00016291700001147547}, "setup": {"outcome": "passed", "duration": 0.00025645800002394026}, "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": 9.925000000521322e-05}}, {"call": {"outcome": "passed", "duration": 0.003826750000030188}, "setup": {"outcome": "passed", "duration": 0.00023637499998585554}, "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.0001438749999920219}}, {"call": {"outcome": "passed", "duration": 0.008532999999999902}, "setup": {"outcome": "passed", "duration": 0.0007485830000177884}, "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.0004908749999685824}}, {"call": {"outcome": "passed", "duration": 0.009941207999986545}, "setup": {"outcome": "passed", "duration": 0.0008163749999994252}, "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.00017054199997801334}}, {"call": {"outcome": "passed", "duration": 0.030834792000007383}, "setup": {"outcome": "passed", "duration": 0.0003143339999951422}, "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.0002520840000101998}}, {"call": {"outcome": "passed", "duration": 0.014005375000010645}, "setup": {"outcome": "passed", "duration": 0.0003048749999834399}, "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.00015370799997072027}}, {"call": {"outcome": "passed", "duration": 0.0008787090000055287}, "setup": {"outcome": "passed", "duration": 0.0003134170000294034}, "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.00012099999997872146}}, {"call": {"outcome": "passed", "duration": 0.00023645800001759198}, "setup": {"outcome": "passed", "duration": 0.00026837500001875014}, "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": 9.695900001815971e-05}}, {"call": {"outcome": "passed", "duration": 0.0015697910000085358}, "setup": {"outcome": "passed", "duration": 0.00024854200000845594}, "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.00011758299996245114}}, {"call": {"outcome": "passed", "duration": 0.00017533300001559837}, "setup": {"outcome": "passed", "duration": 0.0003070829999956004}, "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": 9.320800000978124e-05}}, {"call": {"outcome": "passed", "duration": 0.00032566700002689686}, "setup": {"outcome": "passed", "duration": 0.0009561250000160726}, "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.00039558299999953306}}, {"call": {"outcome": "passed", "duration": 0.0002608329999702619}, "setup": {"outcome": "passed", "duration": 0.00101616599999943}, "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.00019041699999888806}}, {"call": {"outcome": "passed", "duration": 0.0008430419999854166}, "setup": {"outcome": "passed", "duration": 0.000501915999961966}, "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.0001477079999858688}}, {"call": {"outcome": "passed", "duration": 0.0004127500000095097}, "setup": {"outcome": "passed", "duration": 0.0002953750000074251}, "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.00010387499997932537}}, {"call": {"outcome": "passed", "duration": 0.00023724999999785723}, "setup": {"outcome": "passed", "duration": 0.0002430420000223421}, "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.00010416600002827181}}, {"call": {"outcome": "passed", "duration": 0.00020420799995690686}, "setup": {"outcome": "passed", "duration": 0.00023495900001080372}, "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": 9.029099999224854e-05}}, {"call": {"outcome": "passed", "duration": 0.0005079169999930855}, "setup": {"outcome": "passed", "duration": 0.001012083000034636}, "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.0002492079999569796}}, {"call": {"outcome": "passed", "duration": 0.0003712910000217562}, "setup": {"outcome": "passed", "duration": 0.0013293339999904674}, "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.000316083000029721}}, {"call": {"outcome": "passed", "duration": 0.0002447910000000775}, "setup": {"outcome": "passed", "duration": 0.0005012499999565989}, "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.0009319170000026133}}, {"call": {"outcome": "passed", "duration": 0.0003345830000398564}, "setup": {"outcome": "passed", "duration": 0.0008372080000071946}, "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.00012745799995173002}}, {"call": {"outcome": "passed", "duration": 0.00023779200000717537}, "setup": {"outcome": "passed", "duration": 0.00037800000001197986}, "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.00010333400001627524}}, {"call": {"outcome": "passed", "duration": 0.0012148749999596475}, "setup": {"outcome": "passed", "duration": 0.00025979200000847413}, "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.00046812499999759893}}, {"call": {"outcome": "passed", "duration": 0.014670749999993404}, "setup": {"outcome": "passed", "duration": 0.00033516600001348706}, "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.0001625419999982114}}, {"call": {"outcome": "passed", "duration": 0.00046637500003043897}, "setup": {"outcome": "passed", "duration": 0.0002969580000353744}, "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": 9.791700000505443e-05}}, {"call": {"outcome": "passed", "duration": 0.0006152079999992566}, "setup": {"outcome": "passed", "duration": 0.00086545900001056}, "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.00015841699996599345}}, {"call": {"outcome": "passed", "duration": 0.0014286669999705737}, "setup": {"outcome": "passed", "duration": 0.00048800000001847366}, "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.00012091700000382843}}, {"call": {"outcome": "passed", "duration": 0.0010388750000061009}, "setup": {"outcome": "passed", "duration": 0.0002646249999997963}, "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.00013220900001442715}}, {"call": {"outcome": "passed", "duration": 0.0005310420000341765}, "setup": {"outcome": "passed", "duration": 0.00027879200001734716}, "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.00011529200003224105}}, {"call": {"outcome": "passed", "duration": 0.0002486250000401924}, "setup": {"outcome": "passed", "duration": 0.00024654100002408086}, "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": 9.958399999732137e-05}}, {"call": {"outcome": "passed", "duration": 0.0001896249999617794}, "setup": {"outcome": "passed", "duration": 0.00021662500000729779}, "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.00018141699996476746}}, {"call": {"outcome": "passed", "duration": 0.00043729099996880905}, "setup": {"outcome": "passed", "duration": 0.0002495829999702437}, "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": 9.699999998247222e-05}}, {"call": {"outcome": "passed", "duration": 0.0012158339999928103}, "setup": {"outcome": "passed", "duration": 0.00027629100003423446}, "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.0005651660000012271}}, {"call": {"outcome": "passed", "duration": 0.0030919169999492624}, "setup": {"outcome": "passed", "duration": 0.0007394579999981943}, "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.00012883300001931275}}, {"call": {"outcome": "passed", "duration": 0.00017987499995797407}, "setup": {"outcome": "passed", "duration": 0.00022120800002767282}, "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": 8.575000003929745e-05}}, {"call": {"outcome": "passed", "duration": 0.00019220799998720395}, "setup": {"outcome": "passed", "duration": 0.0003327919999946971}, "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.00010712499999954161}}, {"call": {"outcome": "failed", "duration": 0.009963333000030161, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/__init__.py:26: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0011196250000011787}, "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.00016762499996048064}}, {"call": {"outcome": "failed", "duration": 0.015350000000012187, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._internal_read_sac_xy[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:245: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004038339999965501}, "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.0003043330000309652}}, {"call": {"outcome": "passed", "duration": 0.014917208999975173}, "setup": {"outcome": "passed", "duration": 0.0006099159999735093}, "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.0004739579999863963}}, {"call": {"outcome": "passed", "duration": 0.00890595900000335}, "setup": {"outcome": "passed", "duration": 0.0003140000000030341}, "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.00013104200002089783}}, {"call": {"outcome": "failed", "duration": 0.01073049999996556, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._read_sac[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:352: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00026958399996601656}, "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.00018525000001545777}}, {"call": {"outcome": "failed", "duration": 0.010083624999992935, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._read_sac_xy[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:200: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002545829999576199}, "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.0001368749999528518}}, {"call": {"outcome": "failed", "duration": 0.00628266699999358, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._write_sac[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:448: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009232080000174392}, "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.00014145800003007025}}, {"call": {"outcome": "failed", "duration": 0.005356250000033924, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._write_sac_xy[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:276: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00021812500000351065}, "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.00014950000002045272}}, {"call": {"outcome": "passed", "duration": 0.002674249999984113}, "setup": {"outcome": "passed", "duration": 0.0002472909999937656}, "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.00012058300001172029}}, {"call": {"outcome": "passed", "duration": 0.004966334000016559}, "setup": {"outcome": "passed", "duration": 0.0006521249999877909}, "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.00017537499996933548}}, {"call": {"outcome": "failed", "duration": 0.014007042000002912, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.sactrace[17]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/sactrace.py:269: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00027354100001275583}, "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.0001302920000512131}}, {"call": {"outcome": "passed", "duration": 0.002057250000007116}, "setup": {"outcome": "passed", "duration": 0.00021254099999623577}, "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": 8.983300000409145e-05}}, {"call": {"outcome": "passed", "duration": 0.005921042000011312}, "setup": {"outcome": "passed", "duration": 0.0001772079999682319}, "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.00014891600000055405}}, {"call": {"outcome": "passed", "duration": 0.003732291999995141}, "setup": {"outcome": "passed", "duration": 0.00021754199997303658}, "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.0003473749999898246}}, {"call": {"outcome": "passed", "duration": 0.006976540999971803}, "setup": {"outcome": "passed", "duration": 0.0003295829999956368}, "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.0001222079999934067}}, {"call": {"outcome": "passed", "duration": 0.01446295799996733}, "setup": {"outcome": "passed", "duration": 0.00025870799998983784}, "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.00031279099999892424}}, {"call": {"outcome": "passed", "duration": 0.011104375000002165}, "setup": {"outcome": "passed", "duration": 0.00022329199998694094}, "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.0001255410000453594}}, {"call": {"outcome": "passed", "duration": 0.014242249999995238}, "setup": {"outcome": "passed", "duration": 0.00022104199996419993}, "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.0001449999999749707}}, {"call": {"outcome": "passed", "duration": 0.0032747500000027685}, "setup": {"outcome": "passed", "duration": 0.0011117079999962698}, "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.0001416249999692809}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007231875000002219, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 63, in test_read_write_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001022292000016023}, "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.0005542909999576295}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.007591875000002801, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 81, in test_read_xy_write_xy_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035745799999631345}, "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.00019383299996889036}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005421957999999449, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 96, in test_read_write_xy_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00047083300000849704}, "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.0002094579999720736}}, {"call": {"outcome": "passed", "duration": 0.006696083000008457}, "setup": {"outcome": "passed", "duration": 0.00045695799997247377}, "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.0002130410000518168}}, {"call": {"outcome": "passed", "duration": 0.01858337499999152}, "setup": {"outcome": "passed", "duration": 0.00033670900000970505}, "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.0004986659999985932}}, {"call": {"outcome": "passed", "duration": 0.002471165999963887}, "setup": {"outcome": "passed", "duration": 0.0010127919999831647}, "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.00012204199998677723}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002167749999955504, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 170, in test_write_via_obspy\n    tr = read(tempfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003902500000094733}, "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.0005060839999941891}}, {"call": {"outcome": "passed", "duration": 0.004610417000037614}, "setup": {"outcome": "passed", "duration": 0.0014131249999991269}, "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.00032795900000337497}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006727500000351938, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 190, in test_read_and_write_via_obspy\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031129199999213597}, "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.00021562500000982254}}, {"call": {"outcome": "passed", "duration": 0.01053970800001025}, "setup": {"outcome": "passed", "duration": 0.0003183749999493557}, "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.00024545799999486917}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005161708999992243, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 249, in test_iztype11\n    tr = read(sod_file)[0]\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002994579999722191}, "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.0006199590000051103}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007061250000219843, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 266, in test_default_values\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001120833000015864}, "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.0006620830000088063}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009096669999735241, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 278, in test_reference_time\n    tr = read(self.fileseis)[0]\n         ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009489160000271113}, "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.0004482080000229871}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007603340000059688, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 305, in test_undefined_b\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0013008340000055796}, "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.0001834999999914544}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002452542000014546, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 336, in test_issue_156\n    st = read(sac_file)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003001249999670108}, "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.00017108299999790688}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.020270041000003403, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 360, in test_write_sac_xy_with_minimum_stats\n    st = read(sac_file)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010290419999705591}, "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.00038699999998925705}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010224589999552336, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 368, in test_not_used_but_given_headers\n    tr1 = read(self.file)[0]\n          ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042841699996643}, "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.0008827920000271661}}, {"call": {"outcome": "passed", "duration": 0.003131125000038537}, "setup": {"outcome": "passed", "duration": 0.00032816700002058496}, "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.00012812500000336513}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013225829999896632, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 407, in test_null_terminated_strings\n    tr = read(null_file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042866700005106395}, "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.0005943749999914871}}, {"call": {"outcome": "passed", "duration": 0.06546641599999248}, "setup": {"outcome": "passed", "duration": 0.0013752079999562739}, "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.0001612499999623651}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007548339999630116, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 432, in test_issue390\n    tr = read(self.file, headonly=True, debug_headers=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003201249999733591}, "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.0001375829999687994}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000690125000005537, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 469, in test_read_with_fsize\n    read(longer_file)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003340829999842754}, "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.00016374999995605322}}, {"call": {"outcome": "passed", "duration": 0.0020146250000152577}, "setup": {"outcome": "passed", "duration": 0.00027404200000091805}, "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.00011449999999513238}}, {"call": {"outcome": "passed", "duration": 0.00253295900000694}, "setup": {"outcome": "passed", "duration": 0.00030383299997538415}, "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.00013095799999973678}}, {"call": {"outcome": "passed", "duration": 0.004675542000029509}, "setup": {"outcome": "passed", "duration": 0.00028866700000662604}, "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.00013266700000258425}}, {"call": {"outcome": "passed", "duration": 0.0041258749999997235}, "setup": {"outcome": "passed", "duration": 0.00030604199997696924}, "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.0005417500000248765}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027271250000353575, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 569, in test_writing_to_obj_with_multiple_traces_fails\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003621249999810061}, "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.0001597920000335762}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002975582999965809, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 578, in test_writing_to_io_string_io_fails\n    st = read()[:1]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030220799999369774}, "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.0006537909999906333}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006693330000189235, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 594, in test_read_via_obspy_from_bytes_io\n    tr = read(buf)[0]\n         ^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000489458000004106}, "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.00019358299999794326}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006430829999999332, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 605, in test_write_via_obspy_to_bytes_io\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002980410000077427}, "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.0005052089999821874}}, {"call": {"outcome": "passed", "duration": 0.00690991699997312}, "setup": {"outcome": "passed", "duration": 0.0003562499999816282}, "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.000440999999966607}}, {"call": {"outcome": "passed", "duration": 0.006650792000016281}, "setup": {"outcome": "passed", "duration": 0.0009535000000369109}, "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.00014545900000939582}}, {"call": {"outcome": "passed", "duration": 0.00025779099996725563}, "setup": {"outcome": "passed", "duration": 0.00031083300001455427}, "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.00010383299996874484}}, {"call": {"outcome": "passed", "duration": 0.0002161660000297161}, "setup": {"outcome": "passed", "duration": 0.00026262499994800237}, "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.00010745800000222516}}, {"call": {"outcome": "passed", "duration": 0.00017575000003944297}, "setup": {"outcome": "passed", "duration": 0.0002504579999822454}, "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.0001025830000003225}}, {"call": {"outcome": "passed", "duration": 0.00021504199997934847}, "setup": {"outcome": "passed", "duration": 0.00022037500002625166}, "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": 8.941700002651487e-05}}, {"call": {"outcome": "passed", "duration": 0.0002074579999771231}, "setup": {"outcome": "passed", "duration": 0.00026887499996064435}, "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": 9.424999996099359e-05}}, {"call": {"outcome": "passed", "duration": 0.0010931250000112414}, "setup": {"outcome": "passed", "duration": 0.0002358340000228054}, "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.00043049999999311694}}, {"call": {"outcome": "passed", "duration": 0.00030041700000538185}, "setup": {"outcome": "passed", "duration": 0.0011064159999705225}, "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.00011104100002512496}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0035680419999835067, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 744, in test_writing_to_file_like_objects_with_obspy\n    st = read()[:1]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030200000003333116}, "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.0001728750000324908}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001955542000018795, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 788, in test_valid_sac_from_minimal_existing_sac_header\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002907920000438935}, "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.0001494999999636093}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002130208999972183, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00102470799998855}, "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.00016287500000089494}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008850624999979573, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 838, in test_decimate_resample\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00093016699997861}, "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.0028699579999624802}}, {"call": {"outcome": "passed", "duration": 0.005023249999965174}, "setup": {"outcome": "passed", "duration": 0.0005592079999701127}, "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.0001350420000107988}}, {"call": {"outcome": "passed", "duration": 0.001781417000017882}, "setup": {"outcome": "passed", "duration": 0.00029837499999985084}, "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.00015137500002992965}}, {"call": {"outcome": "passed", "duration": 0.00044049999996786937}, "setup": {"outcome": "passed", "duration": 0.00030962499999986903}, "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.00010141600000679318}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001091207999991184, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 897, in test_sac_file_from_new_header\n    tr1 = read(tf)[0]\n          ^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023345800002516626}, "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.00013141699997731848}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012519579999548114, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 920, in test_always_sac_reftime\n    tr1 = read(tf)[0]\n          ^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006102909999867734}, "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.0004171250000126747}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00087987499995279, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 929, in test_wrong_encoding\n    tr0 = read(self.file_encode)[0]\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005716660000416596}, "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.00013758300002564283}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005969169999957558, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 936, in test_encoding_flag\n    tr0 = read(self.file_encode, encoding='cp1252')[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003832090000059907}, "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.0001834999999914544}}, {"call": {"outcome": "passed", "duration": 0.16723962499997924}, "setup": {"outcome": "passed", "duration": 0.00042483300001094904}, "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.00013720900000180336}}, {"call": {"outcome": "passed", "duration": 0.014549458000033155}, "setup": {"outcome": "passed", "duration": 0.000867874999983087}, "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.0005112079999776142}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005645409999601725, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 47, in test_write_sacpz_single_channel\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005908750000003238}, "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.00012479200000825585}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005548329999669477, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 65, in test_write_sacpz_multiple_channels\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00025375000001304215}, "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.00010579100000995822}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015955829999825255, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 82, in test_write_sacpz_soh\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023116699998126933}, "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.00012545800001362295}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013375409999980548, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 100, in test_write_sacpz_no_sensor\n    inv = read_inventory(\"/path/to/IU_ANMO_00_BHZ.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005950839999968593}, "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.00014616700002534344}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011044579999861526, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 100, in test_write_sacpz_no_sensor\n    inv = read_inventory(\"/path/to/IU_ANMO_00_BHZ.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031420800002024407}, "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.00017604199996412717}}, {"call": {"outcome": "passed", "duration": 0.00044745799999645897}, "setup": {"outcome": "passed", "duration": 0.00027537500000107684}, "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": 9.879200001705613e-05}}, {"call": {"outcome": "passed", "duration": 0.0003803750000201944}, "setup": {"outcome": "passed", "duration": 0.00022675000002436718}, "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": 9.516599999415121e-05}}, {"call": {"outcome": "passed", "duration": 0.000276208000002498}, "setup": {"outcome": "passed", "duration": 0.00022991700001284698}, "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": 9.012499998561907e-05}}, {"call": {"outcome": "passed", "duration": 0.004989833000024646}, "setup": {"outcome": "passed", "duration": 0.0003323749999708525}, "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.00012570900003083807}}, {"call": {"outcome": "passed", "duration": 0.018441832999997132}, "setup": {"outcome": "passed", "duration": 0.000392957999963528}, "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.00026837500001875014}}, {"call": {"outcome": "passed", "duration": 0.0007374999999569809}, "setup": {"outcome": "passed", "duration": 0.0007905420000042795}, "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.00011037500001975786}}, {"call": {"outcome": "passed", "duration": 0.0005204170000183694}, "setup": {"outcome": "passed", "duration": 0.00033899999999675856}, "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.00010250000002542947}}, {"call": {"outcome": "passed", "duration": 0.0013954579999904126}, "setup": {"outcome": "passed", "duration": 0.00024625000003197783}, "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.00014220799999975497}}, {"call": {"outcome": "passed", "duration": 0.0014867919999801416}, "setup": {"outcome": "passed", "duration": 0.00028191699999524644}, "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.00013375000003179593}}, {"call": {"outcome": "passed", "duration": 0.0018390829999930247}, "setup": {"outcome": "passed", "duration": 0.00025279200002614743}, "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.00010983300001043972}}, {"call": {"outcome": "passed", "duration": 0.0005421249999812972}, "setup": {"outcome": "passed", "duration": 0.00024904100001776897}, "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": 9.999999997489795e-05}}, {"call": {"outcome": "passed", "duration": 0.0011814160000085394}, "setup": {"outcome": "passed", "duration": 0.0002473330000043461}, "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.00022687500000984073}}, {"call": {"outcome": "passed", "duration": 0.000960291000012603}, "setup": {"outcome": "passed", "duration": 0.00025554200004762606}, "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.000117040999953133}}, {"call": {"outcome": "passed", "duration": 0.0014165839999691343}, "setup": {"outcome": "passed", "duration": 0.00024095800000623058}, "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.00010429200000316996}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007434999999986758, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sactrace.py\", line 219, in test_propagate_modified_stats_strings_to_sactrace\n    tr = read(self.fileseis)[0]\n         ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00027966599998308084}, "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.00013916599999674872}}, {"call": {"outcome": "passed", "duration": 0.00045079200003783626}, "setup": {"outcome": "passed", "duration": 0.0002831670000205122}, "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": 9.258299996872665e-05}}, {"call": {"outcome": "passed", "duration": 0.0006863749999865831}, "setup": {"outcome": "passed", "duration": 0.00022508400002152484}, "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.0001025830000003225}}, {"call": {"outcome": "passed", "duration": 0.0019992499999830216}, "setup": {"outcome": "passed", "duration": 0.00043279199996959505}, "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.00010145799996053029}}, {"call": {"outcome": "passed", "duration": 0.0003429589999655036}, "setup": {"outcome": "passed", "duration": 0.000367917000005491}, "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.00012391699999625416}}, {"call": {"outcome": "passed", "duration": 0.00041154199999482444}, "setup": {"outcome": "passed", "duration": 0.00024016700001538993}, "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.00010820799997190989}}, {"call": {"outcome": "passed", "duration": 0.005633999999986372}, "setup": {"outcome": "passed", "duration": 0.00022304200001599384}, "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.00012120899998535606}}, {"call": {"outcome": "passed", "duration": 0.0009045840000112548}, "setup": {"outcome": "passed", "duration": 0.0006134580000320966}, "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": 9.633400003394854e-05}}, {"call": {"outcome": "passed", "duration": 0.00022849999999152715}, "setup": {"outcome": "passed", "duration": 0.00024083300002075703}, "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": 9.133300000030431e-05}}, {"call": {"outcome": "passed", "duration": 0.0006549999999947431}, "setup": {"outcome": "passed", "duration": 0.00023254199999200864}, "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.00011812499997176928}}, {"call": {"outcome": "passed", "duration": 0.0005586249999964821}, "setup": {"outcome": "passed", "duration": 0.0002637499999877946}, "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.000273875000004864}}, {"call": {"outcome": "failed", "duration": 0.007677874999956202, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.scardec[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004907079999725283}, "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.00013329099999737082}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005472080000004098, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/tests/test_core.py\", line 33, in test_read_and_write_scardec_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008058749999690917}, "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": 9.775000000900036e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00035291599999709433, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/tests/test_core.py\", line 83, in test_read_and_write_scardec_from_open_files\n    cat = obspy.read_events(fh)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021129200001723802}, "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.0001208340000289354}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004534579999813104, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/tests/test_core.py\", line 129, in test_read_and_write_scardec_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033200000001443186}, "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.0003048330000297028}}, {"call": {"outcome": "passed", "duration": 0.0051338330000021415}, "setup": {"outcome": "passed", "duration": 0.00021162499996307815}, "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.00016241699995589443}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013387919999559017, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seg2/tests/test_seg2.py\", line 91, in test_read_data_format_2\n    st = read(basename + \".seg2.gz\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007617910000021766}, "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.0001368750000096952}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006844170000022132, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seg2/tests/test_seg2.py\", line 114, in test_read_data_format_3\n    st = read(basename + \".seg2\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021345800001881798}, "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.00020095799999353403}}, {"call": {"outcome": "passed", "duration": 0.010503834000019197}, "setup": {"outcome": "passed", "duration": 0.0005537910000157353}, "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.00012391699999625416}}, {"call": {"outcome": "failed", "duration": 0.008496916000012789, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.segy.core._read_segy[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/core.py:165: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003501660000324591}, "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.00015587500001856824}}, {"call": {"outcome": "failed", "duration": 0.012058083999988867, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.segy.core._read_su[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/core.py:455: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00023495900001080372}, "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.00014612500001476292}}, {"call": {"outcome": "passed", "duration": 0.005955583000002207}, "setup": {"outcome": "passed", "duration": 0.0002705839999634918}, "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.00011883400003398492}}, {"call": {"outcome": "passed", "duration": 0.012189958000021761}, "setup": {"outcome": "passed", "duration": 0.00033491700003196456}, "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.0004427920000011909}}, {"call": {"outcome": "passed", "duration": 0.0018359580000151254}, "setup": {"outcome": "passed", "duration": 0.000991750000025604}, "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.00010495800000853706}}, {"call": {"outcome": "passed", "duration": 0.000508082999999715}, "setup": {"outcome": "passed", "duration": 0.00032720800004426565}, "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": 8.558299998639995e-05}}, {"call": {"outcome": "passed", "duration": 0.002297415999976238}, "setup": {"outcome": "passed", "duration": 0.00021633400001519476}, "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.00010691599999290702}}, {"call": {"outcome": "passed", "duration": 0.0010855419999984406}, "setup": {"outcome": "passed", "duration": 0.00021558299999924202}, "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.00011716599999544997}}, {"call": {"outcome": "passed", "duration": 0.004445333000035134}, "setup": {"outcome": "passed", "duration": 0.00021783400001140762}, "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.0001163339999834534}}, {"call": {"outcome": "passed", "duration": 0.00325812500000211}, "setup": {"outcome": "passed", "duration": 0.00024516600001334155}, "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.00011458300002686883}}, {"call": {"outcome": "passed", "duration": 0.005605791999983012}, "setup": {"outcome": "passed", "duration": 0.00022258299998156872}, "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.0004123749999962456}}, {"call": {"outcome": "passed", "duration": 0.002101875000050768}, "setup": {"outcome": "passed", "duration": 0.0002822920000085105}, "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.0001682089999803793}}, {"call": {"outcome": "passed", "duration": 0.0013060829999744783}, "setup": {"outcome": "passed", "duration": 0.0006874999999695319}, "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.00011166699999876073}}, {"call": {"outcome": "passed", "duration": 0.006534041999998408}, "setup": {"outcome": "passed", "duration": 0.00021891700004061931}, "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.000129624999999578}}, {"call": {"outcome": "passed", "duration": 0.000924625000038759}, "setup": {"outcome": "passed", "duration": 0.00025237500000230284}, "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": 9.900000003426612e-05}}, {"call": {"outcome": "passed", "duration": 0.0038308339999844065}, "setup": {"outcome": "passed", "duration": 0.000342875000001186}, "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.00011487500000839646}}, {"call": {"outcome": "passed", "duration": 0.021001332999958322}, "setup": {"outcome": "passed", "duration": 0.00022783299999673545}, "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.00012474999999767533}}, {"call": {"outcome": "passed", "duration": 0.0003158330000019305}, "setup": {"outcome": "passed", "duration": 0.0002852089999691998}, "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.00010179100002005725}}, {"call": {"outcome": "passed", "duration": 0.0010530839999773889}, "setup": {"outcome": "passed", "duration": 0.0005744580000168753}, "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.00010295900000301117}}, {"call": {"outcome": "passed", "duration": 0.002498666000008143}, "setup": {"outcome": "passed", "duration": 0.00021320799999102746}, "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.00010562500000332875}}, {"call": {"outcome": "passed", "duration": 0.0008342910000465054}, "setup": {"outcome": "passed", "duration": 0.0002351669999711703}, "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": 9.316699998862532e-05}}, {"call": {"outcome": "passed", "duration": 0.0030479589999572454}, "setup": {"outcome": "passed", "duration": 0.0008021250000069813}, "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.0005066669999678197}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002052916999957688, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_core.py\", line 441, in test_writing_su_file_with_no_header\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002755410000077063}, "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.00014649999997118357}}, {"call": {"outcome": "passed", "duration": 0.004418166000050405}, "setup": {"outcome": "passed", "duration": 0.000838457999975617}, "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.00016249999998763087}}, {"call": {"outcome": "passed", "duration": 0.0039477919999626465}, "setup": {"outcome": "passed", "duration": 0.00024908299997150607}, "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.00011458399995945001}}, {"call": {"outcome": "passed", "duration": 0.0010461249999593747}, "setup": {"outcome": "passed", "duration": 0.00022170799996956703}, "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.00017095800001243333}}, {"call": {"outcome": "passed", "duration": 0.0006713340000032986}, "setup": {"outcome": "passed", "duration": 0.00023325000000795626}, "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.00010025000000268847}}, {"call": {"outcome": "passed", "duration": 0.12580687499996657}, "setup": {"outcome": "passed", "duration": 0.00027854199998955664}, "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.00013649999999643114}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000817499999982374, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_core.py\", line 597, in test_comparing_still_packed_trace_headers\n    header_a = read(file)[0].stats.segy.trace_header\n               ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002613329999689995}, "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.0016774169999962396}}, {"call": {"outcome": "passed", "duration": 0.01802066600004082}, "setup": {"outcome": "passed", "duration": 0.00029699999998911153}, "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.0001665830000092683}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00179462500000227, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_core.py\", line 640, in test_writing_text_and_binary_textual_file_headers\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007394159999876138}, "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.00012579199994888768}}, {"call": {"outcome": "passed", "duration": 0.006983083000022816}, "setup": {"outcome": "passed", "duration": 0.00033037499997590203}, "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.00015300000001161607}}, {"call": {"outcome": "passed", "duration": 0.0016540830000053575}, "setup": {"outcome": "passed", "duration": 0.000827916999980971}, "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": 9.599999998499698e-05}}, {"call": {"outcome": "passed", "duration": 0.0015658750000397959}, "setup": {"outcome": "passed", "duration": 0.00020904199999449702}, "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.00011933400003272254}}, {"call": {"outcome": "passed", "duration": 0.04011037499998338}, "setup": {"outcome": "passed", "duration": 0.0001760829999852831}, "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.00015320899996140724}}, {"call": {"outcome": "passed", "duration": 0.02968450000003031}, "setup": {"outcome": "passed", "duration": 0.0002261249999833126}, "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.00013470900000811525}}, {"call": {"outcome": "passed", "duration": 0.00044049999996786937}, "setup": {"outcome": "passed", "duration": 0.00021737500003382593}, "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": 9.379199997283649e-05}}, {"call": {"outcome": "passed", "duration": 0.001056249999976444}, "setup": {"outcome": "passed", "duration": 0.0002085829999600719}, "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.0004232090000186872}}, {"call": {"outcome": "passed", "duration": 0.0007122499999923093}, "setup": {"outcome": "passed", "duration": 0.0008504169999810074}, "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.00011579199997413525}}, {"call": {"outcome": "passed", "duration": 0.004786957999954211}, "setup": {"outcome": "passed", "duration": 0.0002876249999985703}, "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.0001317079999694215}}, {"call": {"outcome": "passed", "duration": 0.0158012080000276}, "setup": {"outcome": "passed", "duration": 0.00040587500001265653}, "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.00036825000000817454}}, {"call": {"outcome": "passed", "duration": 0.008984792000035213}, "setup": {"outcome": "passed", "duration": 0.0004557920000252125}, "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.00015462499999330248}}, {"call": {"outcome": "passed", "duration": 0.0007102910000185148}, "setup": {"outcome": "passed", "duration": 0.00026120799998352595}, "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": 9.679200002210564e-05}}, {"call": {"outcome": "passed", "duration": 0.003619334000006802}, "setup": {"outcome": "passed", "duration": 0.00019379200000457786}, "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": 9.608300001673342e-05}}, {"call": {"outcome": "passed", "duration": 0.0008044580000046153}, "setup": {"outcome": "passed", "duration": 0.00022420799996325513}, "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": 8.920900000930487e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006057919999875594, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 576, in test_iterative_reading\n    st = obspy.read(filename, unpack_trace_headers=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002044999999952779}, "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.00010579199999938282}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001801958999976705, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 595, in test_revision_number_in_binary_file_header\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00018925000000535874}, "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.0001197089999891432}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017887500000028922, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 615, in test_textual_header_has_the_right_fields_at_the_end\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033016699995869203}, "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.00014279099997338562}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015580419999992046, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 744, in test_packing_raises_nice_error_messages\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020437500000980435}, "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.0005610829999795897}}, {"call": {"outcome": "passed", "duration": 0.0017959580000024289}, "setup": {"outcome": "passed", "duration": 0.0005299999999692773}, "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.0003120829999829766}}, {"call": {"outcome": "passed", "duration": 0.00034554199999092816}, "setup": {"outcome": "passed", "duration": 0.00025262500003009336}, "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": 8.841700002903963e-05}}, {"call": {"outcome": "passed", "duration": 0.0017918330000270544}, "setup": {"outcome": "passed", "duration": 0.0001825830000257156}, "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": 9.94170000012673e-05}}, {"call": {"outcome": "passed", "duration": 0.0004116250000265609}, "setup": {"outcome": "passed", "duration": 0.00020141600003853455}, "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": 8.658400003014322e-05}}, {"call": {"outcome": "passed", "duration": 0.00019429099995704746}, "setup": {"outcome": "passed", "duration": 0.00018549999998640487}, "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": 8.27090000257158e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005922919999648002, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_su.py\", line 124, in test_iterative_reading\n    st = obspy.read(filename, unpack_trace_headers=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0001939169999900514}, "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.00014570799999091832}}, {"call": {"outcome": "failed", "duration": 0.006365458999994189, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seisan[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seisan/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004148340000256212}, "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.00010575000004564572}}, {"call": {"outcome": "skipped", "duration": 0.00011354200000823766, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00019420899997157903}, "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": 8.320900002445342e-05}}, {"call": {"outcome": "failed", "duration": 0.006069375000038235, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seisan.core._read_seisan[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seisan/core.py:123: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00016562500002237357}, "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.00013358400002516646}}, {"call": {"outcome": "passed", "duration": 0.00022849999999152715}, "setup": {"outcome": "passed", "duration": 0.0007610830000430724}, "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": 9.004099996445802e-05}}, {"call": {"outcome": "passed", "duration": 0.00024337500002502566}, "setup": {"outcome": "passed", "duration": 0.0007095419999814112}, "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": 9.204200000567653e-05}}, {"call": {"outcome": "passed", "duration": 0.01844545799997377}, "setup": {"outcome": "passed", "duration": 0.0002031249999845386}, "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.00011866599999166283}}, {"call": {"outcome": "passed", "duration": 0.01880375000001777}, "setup": {"outcome": "passed", "duration": 0.00024137500003007517}, "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.00025783300003467957}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007085830000050919, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seisan/tests/test_core.py\", line 202, in test_read_obspy\n    st1 = read(testdata['2011-09-06-1311-36S.A1032_001BH_Z'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002570419999869955}, "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.0001666250000198488}}, {"call": {"outcome": "failed", "duration": 0.007794665999995232, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seiscomp.event._read_scml[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/event.py:73: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004892090000225835}, "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.00013579199998048352}}, {"call": {"outcome": "passed", "duration": 0.002013166999972782}, "setup": {"outcome": "passed", "duration": 0.0005457089999936215}, "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.0001019169999949554}}, {"call": {"outcome": "passed", "duration": 0.006041874999993979}, "setup": {"outcome": "passed", "duration": 0.0010534580000012284}, "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.0001253749999818865}}, {"call": {"outcome": "passed", "duration": 0.0012295409999865115}, "setup": {"outcome": "passed", "duration": 0.00022625000002562956}, "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.00015745799998967414}}, {"call": {"outcome": "passed", "duration": 0.014599166000039077}, "setup": {"outcome": "passed", "duration": 0.00032662499995694816}, "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.00018254200000455967}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013306669999906262, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 200, in test_scml_versions\n    read_events(filename)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.003979958000002171}, "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.00015637500001730587}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.042903833000025315}, "setup": {"outcome": "passed", "duration": 0.0003003329999842208}, "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.0002475830000321366}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03449745799997572}, "setup": {"outcome": "passed", "duration": 0.00031754100001535335}, "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.0001323749999642132}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03421762499999659}, "setup": {"outcome": "passed", "duration": 0.00031120900001724294}, "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.00013229199998932017}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03419795799999292}, "setup": {"outcome": "passed", "duration": 0.0003022920000148588}, "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.00016295799997578797}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03238212499996962}, "setup": {"outcome": "passed", "duration": 0.00031804200000351557}, "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.00013387499996042607}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.0344675000000052}, "setup": {"outcome": "passed", "duration": 0.0002934999999979482}, "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.00013970800000606687}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03853270799999109}, "setup": {"outcome": "passed", "duration": 0.00031908400001157133}, "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.0004517920000353115}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.04710045799998852}, "setup": {"outcome": "passed", "duration": 0.0003521670000168342}, "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.0001474999999686588}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.047070709000024635}, "setup": {"outcome": "passed", "duration": 0.00033404200001996287}, "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.0001409589999639138}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03753062499998805}, "setup": {"outcome": "passed", "duration": 0.00043612499996470433}, "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.00014191700000765195}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03726858300001368}, "setup": {"outcome": "passed", "duration": 0.0003117500000371365}, "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.00014895800001113457}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.036555041999974947}, "setup": {"outcome": "passed", "duration": 0.0003070840000418684}, "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.00035725000003594687}}, {"call": {"outcome": "passed", "duration": 0.007902833000002829}, "setup": {"outcome": "passed", "duration": 0.0004093750000038199}, "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.00013200000000779255}}, {"call": {"outcome": "passed", "duration": 0.008227208999983304}, "setup": {"outcome": "passed", "duration": 0.00030249999997522536}, "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.0001404589999651762}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003120829999829766, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 311, in test_read_string\n    catalog = read_events(data)\n              ^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 730, in _generic_reader\n    return callback_func(io.BytesIO(pathname_or_url), **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003176250000365144}, "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.0001477079999858688}}, {"call": {"outcome": "passed", "duration": 0.0149924170000304}, "setup": {"outcome": "passed", "duration": 0.0005777499999908287}, "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.00020475000002306842}}, {"call": {"outcome": "passed", "duration": 0.006367457999999715}, "setup": {"outcome": "passed", "duration": 0.0004331249999722786}, "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.000131667000005109}}, {"call": {"outcome": "passed", "duration": 0.009479916999964644}, "setup": {"outcome": "passed", "duration": 0.00040250000000696673}, "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.00013087500002484376}}, {"call": {"outcome": "passed", "duration": 0.010506874999975935}, "setup": {"outcome": "passed", "duration": 0.00030358399999386165}, "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.00014125000001286026}}, {"call": {"outcome": "passed", "duration": 0.009288959000002706}, "setup": {"outcome": "passed", "duration": 0.00043662500002028537}, "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.00025220800000624877}}, {"call": {"outcome": "passed", "duration": 0.00818574999999555}, "setup": {"outcome": "passed", "duration": 0.0004205419999721016}, "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.00013516600000684775}}, {"call": {"outcome": "passed", "duration": 0.008210249999990538}, "setup": {"outcome": "passed", "duration": 0.0003435410000065531}, "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.00013433300000542658}}, {"call": {"outcome": "passed", "duration": 0.00801087499996811}, "setup": {"outcome": "passed", "duration": 0.0002946660000020529}, "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.00013599999999769352}}, {"call": {"outcome": "passed", "duration": 0.008076791999997113}, "setup": {"outcome": "passed", "duration": 0.0003038340000216522}, "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.00014037500000085856}}, {"call": {"outcome": "passed", "duration": 0.00909683300000097}, "setup": {"outcome": "passed", "duration": 0.00032183299998678194}, "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.00014191700000765195}}, {"call": {"outcome": "passed", "duration": 0.009456999999997606}, "setup": {"outcome": "passed", "duration": 0.00031487500001503577}, "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.00014058400000749316}}, {"call": {"outcome": "passed", "duration": 0.037891250000029686}, "setup": {"outcome": "passed", "duration": 0.00031233300001076714}, "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.00014649999997118357}}, {"call": {"outcome": "passed", "duration": 0.04050312499998654}, "setup": {"outcome": "passed", "duration": 0.0006854590000102689}, "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.00013695800004143166}}, {"call": {"outcome": "passed", "duration": 0.01501979200003234}, "setup": {"outcome": "passed", "duration": 0.00031170899995913715}, "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.00023191700000779747}}, {"call": {"outcome": "passed", "duration": 0.009377874999984215}, "setup": {"outcome": "passed", "duration": 0.00031866599999830214}, "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.00015483399999993708}}, {"call": {"outcome": "passed", "duration": 0.03657216699997434}, "setup": {"outcome": "passed", "duration": 0.00031325000003334935}, "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.00024137499997323175}}, {"call": {"outcome": "passed", "duration": 0.008324374999972406}, "setup": {"outcome": "passed", "duration": 0.0003426250000302389}, "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.00015212499999961437}}, {"call": {"outcome": "passed", "duration": 0.010311291999983041}, "setup": {"outcome": "passed", "duration": 0.0003546249999999418}, "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.0003861669999878359}}, {"call": {"outcome": "passed", "duration": 0.052184749999980795}, "setup": {"outcome": "passed", "duration": 0.0008880000000317523}, "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.0002487080000150854}}, {"call": {"outcome": "passed", "duration": 0.013500832999966406}, "setup": {"outcome": "passed", "duration": 0.000353500000016993}, "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.00017841700002918515}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006832920000192644, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 476, in test_read_and_write\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035458299998936127}, "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.00013183400000116308}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007539169999972728, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 488, in test_read_and_write_scml_fields\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002833749999808788}, "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.0003968330000247988}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003348249999987729, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 51, in test_scml_versions\n    read_inventory(filename)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.040736208999987866}, "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.00016520899998795358}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014944999999784159, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 59, in test_channel_level\n    inv = read_inventory(testdata[\"channel_level.sc3ml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.02907504099999869}, "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.00015183299996124333}}, {"call": {"outcome": "passed", "duration": 0.02740408300002173}, "setup": {"outcome": "passed", "duration": 0.033462124999971365}, "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.000181541999950241}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018712500000219734, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 117, in test_empty_depth\n    read_inventory(testdata[\"sc3ml_empty_depth_and_id.sc3ml\"])\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.04055604199999152}, "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.00025375000001304215}}, {"call": {"outcome": "passed", "duration": 0.00022062499999719876}, "setup": {"outcome": "passed", "duration": 0.03043820800002095}, "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.00011516600000049948}}, {"call": {"outcome": "passed", "duration": 0.01779258299995945}, "setup": {"outcome": "passed", "duration": 0.03208708300002172}, "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.00014729199995144882}}, {"call": {"outcome": "passed", "duration": 0.00024275000004081448}, "setup": {"outcome": "passed", "duration": 0.041473457999984475}, "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.00013070900001821428}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002904249999971853, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 271, in test_stage_empty_poles_and_zeros\n    scml_inv = read_inventory(scml_mbar_path)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.041864750000002005}, "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.00037550000001829176}}, {"call": {"outcome": "failed", "duration": 0.00782295799996291, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005417500000248765}, "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.00028983299995388734}}, {"call": {"outcome": "skipped", "duration": 0.00013400000000274304, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0005085839999878772}, "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": 9.283399998594177e-05}}, {"call": {"outcome": "skipped", "duration": 0.00020016600001326879, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0005588330000136921}, "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.00010333299997000722}}, {"call": {"outcome": "failed", "duration": 0.007730541999990237, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh.core._read_asc[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/core.py:122: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0001834999999914544}, "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.00016920800004527337}}, {"call": {"outcome": "failed", "duration": 0.0077519160000179, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh.core._read_q[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/core.py:366: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00024312499999723514}, "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.00015433299995493144}}, {"call": {"outcome": "passed", "duration": 0.001984625000034157}, "setup": {"outcome": "passed", "duration": 0.00025312499997198756}, "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.00010937500002228262}}, {"call": {"outcome": "passed", "duration": 0.002739791999999852}, "setup": {"outcome": "passed", "duration": 0.000840707999998358}, "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.0004256249999912143}}, {"call": {"outcome": "passed", "duration": 0.01796108300004562}, "setup": {"outcome": "passed", "duration": 0.0017528329999549896}, "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.00012887500002989327}}, {"call": {"outcome": "passed", "duration": 0.00026433400000769325}, "setup": {"outcome": "passed", "duration": 0.0002412499999877582}, "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": 8.583400000361507e-05}}, {"call": {"outcome": "passed", "duration": 0.0002439579999986563}, "setup": {"outcome": "passed", "duration": 0.00019241700005068196}, "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": 9.858399999984613e-05}}, {"call": {"outcome": "passed", "duration": 0.0009512920000247505}, "setup": {"outcome": "passed", "duration": 0.000194542000031106}, "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.00021133299998155053}}, {"call": {"outcome": "passed", "duration": 0.014533249999999498}, "setup": {"outcome": "passed", "duration": 0.0003082090000248172}, "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.00039241700000047786}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.011253709000015988, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 142, in test_read_and_write_multi_channel_asc_file_via_obspy\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003126660000134507}, "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.00016362499997057967}}, {"call": {"outcome": "passed", "duration": 0.007002334000048904}, "setup": {"outcome": "passed", "duration": 0.00035408399998004825}, "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.00011804100000745166}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0036856659999671137, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 198, in test_read_and_write_multi_channel_q_file_via_obspy\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023375000000669388}, "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.000167332999978953}}, {"call": {"outcome": "passed", "duration": 0.0011132079999924827}, "setup": {"outcome": "passed", "duration": 0.0002396659999703843}, "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.00012349999997240957}}, {"call": {"outcome": "passed", "duration": 0.01707458300001008}, "setup": {"outcome": "passed", "duration": 0.00039533299997174254}, "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.0001251659999752519}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015734579999957532, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 262, in test_write_long_header\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006590419999952246}, "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.0004871660000276279}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0061649590000456556, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 277, in test_header_whitespaces\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00026033299997152426}, "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.0007308749999879183}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004112624999947911, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 292, in test_append_traces\n    stream = read()\n             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009086250000223117}, "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.00025466599998935635}}, {"call": {"outcome": "passed", "duration": 0.0015785839999580276}, "setup": {"outcome": "passed", "duration": 0.0004110419999960868}, "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.00036558300001843236}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005934590000151729, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 12, in test_local_event1\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012409589999720083}, "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.00032316700003320875}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016969590000144308, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 17, in test_local_event2\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002302079999481066}, "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.00017774999997755003}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007268339999768614, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 34, in test_tele_event1\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003487090000362514}, "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.00017916600000944527}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008696670000176709, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 40, in test_tele_event2\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00024129100000891412}, "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.0001413749999983338}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.07346058299998504, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 84, in test_populate_waveform_id\n    cat = read_events(fname, inventory=inv,\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023866600002975247}, "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.0006202090000329008}}, {"call": {"outcome": "failed", "duration": 0.08047312499996906, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.shapefile[3]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/__init__.py:14: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0016592080000350506}, "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.0002765420000514496}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005217916999981753, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/tests/test_core.py\", line 193, in test_write_catalog_shapefile\n    cat = read_events('/path/to/mchedr.dat')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005340829999909147}, "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.00020183300000553572}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0067228329999693415, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/tests/test_core.py\", line 230, in test_write_catalog_shapefile_with_extra_field\n    cat = read_events('/path/to/mchedr.dat')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023833400001649352}, "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.0006075000000009823}}, {"call": {"outcome": "passed", "duration": 0.08421316699997305}, "setup": {"outcome": "passed", "duration": 0.0002590839999925265}, "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.00012520799998583243}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006036666999989393, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/tests/test_core.py\", line 339, in test_write_catalog_shapefile_via_plugin\n    cat = read_events('/path/to/mchedr.dat')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00025329099997861704}, "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.000223667000000205}}, {"call": {"outcome": "passed", "duration": 0.057121832999996514}, "setup": {"outcome": "passed", "duration": 0.0003542079999760972}, "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.0001647910000315278}}, {"call": {"outcome": "passed", "duration": 0.057865542000001824}, "setup": {"outcome": "passed", "duration": 0.00021783300002198303}, "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.00014799999996739643}}, {"call": {"outcome": "failed", "duration": 0.008038124999984575, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.stationtxt[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0010099169999762125}, "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.00012820799997825816}}, {"call": {"outcome": "passed", "duration": 0.004989416999990226}, "setup": {"outcome": "passed", "duration": 0.0010760000000118453}, "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.00012933399995063155}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012483340000244425, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 109, in test_reading_network_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022291599998425227}, "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.00012337499998693602}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015128329999924972, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 194, in test_reading_station_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002089999999839165}, "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.00012345899995125365}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003327042000023539, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 397, in test_reading_channel_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020866699998123295}, "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.00018879200001720164}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013541250000344007, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 467, in test_reading_unicode_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029570800001010866}, "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.00017262500000470027}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001659083000049577, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 557, in test_reading_channel_without_response_info\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023812500000985892}, "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.00021808299999293013}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024225839999871823, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 619, in test_parsing_faulty_header_at_channel_level\n    inv_obs_good = obspy.read_inventory(good_file)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021424999999908323}, "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.00013700000005201218}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008468749999792635, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 648, in test_parsing_files_with_no_endtime\n    inv_obs_a = obspy.read_inventory(file_a)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020933400003286806}, "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.00018537500000093132}}, {"call": {"outcome": "passed", "duration": 0.012318666999988181}, "setup": {"outcome": "passed", "duration": 0.00018033399999239919}, "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.00012020800005529964}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005725830000073984, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 846, in test_read_write_stationtxt\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00022483300000430972}, "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.00016941600000563994}}, {"call": {"outcome": "passed", "duration": 0.002841042000000016}, "setup": {"outcome": "passed", "duration": 0.0015328329999988455}, "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.00012300000003051537}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016803750000349282, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 94, in test_different_write_levels\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00026183300002458054}, "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.0001384589999702257}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000549874999990152, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 139, in test_read_and_write_minimal_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002421249999997599}, "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.00011520800001108}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009677909999936674, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 168, in test_subsecond_read_and_write_minimal_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003756250000037653}, "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.000407875000007607}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022485419999611622, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 191, in test_read_and_write_full_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002946660000020529}, "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.0001837500000192449}}, {"call": {"outcome": "passed", "duration": 0.005986584000027051}, "setup": {"outcome": "passed", "duration": 0.0005463749999989886}, "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.00012158399999862013}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013660839999829477, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 319, in test_reading_other_module_tags\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002502500000218788}, "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.0004396250000127111}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000986666999949648, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 329, in test_reading_and_writing_full_root_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004030420000162849}, "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.00012312500001598892}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008649170000012418, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 357, in test_reading_and_writing_full_network_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002331249999656393}, "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.00012450000002672823}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012770420000265403, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 437, in test_reading_and_writing_full_station_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003582919999871592}, "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.00012654199997541582}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008161250000284781, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 647, in test_reading_and_writing_channel_with_response\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003370409999661206}, "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.00011016700000254787}}, {"call": {"outcome": "passed", "duration": 0.004700082999988808}, "setup": {"outcome": "passed", "duration": 0.0005586249999964821}, "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.00012279199995646195}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007267920000231243, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 735, in test_parse_file_with_no_default_namespace\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002545840000038879}, "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.00011687500000334694}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006470409999792537, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 748, in test_parse_file_with_schema_2\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004006249999974898}, "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.00010170799998832081}}, {"call": {"outcome": "passed", "duration": 0.055690416999993886}, "setup": {"outcome": "passed", "duration": 0.00018799999998009298}, "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.00012900000001536682}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00191354099996488, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 797, in test_write_with_extra_tags_namespace_redef\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006637500000010732}, "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.0002085419999957594}}, {"call": {"outcome": "passed", "duration": 0.10336225000003196}, "setup": {"outcome": "passed", "duration": 0.0002437499999814463}, "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.0003244160000122065}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002390208999997867, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 922, in test_write_with_extra_tags_and_read\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003489590000071985}, "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.0001803750000135551}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007960829999547059, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1091, in test_reading_file_with_empty_channel_object\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002485409999621879}, "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.00015975000002299566}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013542910000410302, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1104, in test_reading_channel_without_coordinates\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023575000000164437}, "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.00010583400000996335}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.056467042000008405, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1142, in test_units_during_identity_stage\n    inv_2 = obspy.read_inventory(buf)\n            ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00019487499997694613}, "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.0004838340000219432}}, {"call": {"outcome": "passed", "duration": 0.11403024999998479}, "setup": {"outcome": "passed", "duration": 0.00031233300001076714}, "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.0001278330000218375}}, {"call": {"outcome": "passed", "duration": 0.014691749999997228}, "setup": {"outcome": "passed", "duration": 0.0002653330000157439}, "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.00013470800001869065}}, {"call": {"outcome": "passed", "duration": 0.025308249999966392}, "setup": {"outcome": "passed", "duration": 0.0008820829999649504}, "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.00034820899998067034}}, {"call": {"outcome": "passed", "duration": 0.004819875000009688}, "setup": {"outcome": "passed", "duration": 0.0002698330000043825}, "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.000200667000001431}}, {"call": {"outcome": "failed", "duration": 0.01247137500001827, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.wav[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0010613329999955567}, "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.0002718750000099135}}, {"call": {"outcome": "skipped", "duration": 0.00015716700005441453, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0008225839999909113}, "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.00039537499998232306}}, {"call": {"outcome": "failed", "duration": 0.00905808399994612, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.wav.core._read_wav[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/core.py:84: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006296249999877546}, "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.00014908299999660812}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006382920000191916, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 30, in test_read_via_obspy\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012963749999812535}, "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.00018091700002287325}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007371250000005602, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 43, in test_read_head_via_obspy\n    tr = read(self.file, headonly=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005827079999676243}, "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.00018833299998277653}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0028366249999862703, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 67, in test_read_and_write_via_obspy\n    tr3 = read(testfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003042079999886482}, "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.00022483399999373432}}, {"call": {"outcome": "passed", "duration": 0.007688374999986536}, "setup": {"outcome": "passed", "duration": 0.000334792000046491}, "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.00013695800004143166}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0035938750000354958, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 112, in test_write_stream_via_obspy\n    tr30 = read(testfile0)[0]\n           ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031599999999798456}, "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.0002372079999872767}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010911250000162909, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/win/tests/test_core.py\", line 21, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010965420000275117}, "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.00015366700000640776}}, {"call": {"outcome": "passed", "duration": 0.03422566699998697}, "setup": {"outcome": "passed", "duration": 0.0002447910000000775}, "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.00011549999999260763}}, {"call": {"outcome": "passed", "duration": 0.06381470800005218}, "setup": {"outcome": "passed", "duration": 0.00023054199999705816}, "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.0001314579999984744}}, {"call": {"outcome": "passed", "duration": 0.05056441599998607}, "setup": {"outcome": "passed", "duration": 0.0010270839999861892}, "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.0001276250000046275}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007481250000296313, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/win/tests/test_core.py\", line 89, in test_read_24bit_data\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004423330000236092}, "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.00023858299999801602}}, {"call": {"outcome": "passed", "duration": 0.022764709000000494}, "setup": {"outcome": "passed", "duration": 0.0007192500000314794}, "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.00012933400000747497}}, {"call": {"outcome": "passed", "duration": 0.012482583000007708}, "setup": {"outcome": "passed", "duration": 0.0008801249999805805}, "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.00013745900002959388}}, {"call": {"outcome": "passed", "duration": 0.00035954099996615696}, "setup": {"outcome": "passed", "duration": 0.0010020409999924595}, "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": 9.454199999936463e-05}}, {"call": {"outcome": "passed", "duration": 0.033305041999994955}, "setup": {"outcome": "passed", "duration": 0.0003086250000023938}, "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.00012191600001187908}}, {"call": {"outcome": "passed", "duration": 0.0031605839999997443}, "setup": {"outcome": "passed", "duration": 0.00024066699995728413}, "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.00011891699995203453}}, {"call": {"outcome": "passed", "duration": 0.00016512499996679253}, "setup": {"outcome": "passed", "duration": 0.0002130830000055539}, "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": 9.020900000678012e-05}}, {"call": {"outcome": "passed", "duration": 0.0018393749999745523}, "setup": {"outcome": "passed", "duration": 0.00016912500001353692}, "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.00010408400004280338}}, {"call": {"outcome": "passed", "duration": 0.0001938750000363143}, "setup": {"outcome": "passed", "duration": 0.00027358300002333635}, "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.0001260409999872536}}, {"call": {"outcome": "passed", "duration": 0.008462541000028523}, "setup": {"outcome": "passed", "duration": 0.001010041999961686}, "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.0001765000000091277}}, {"call": {"outcome": "passed", "duration": 0.0019855830000210517}, "setup": {"outcome": "passed", "duration": 0.00044850000000451473}, "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.00011745900002324561}}, {"call": {"outcome": "passed", "duration": 0.0058028749999721185}, "setup": {"outcome": "passed", "duration": 0.00039737499997727355}, "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.00014866700001903155}}, {"call": {"outcome": "passed", "duration": 0.15251845899996397}, "setup": {"outcome": "passed", "duration": 0.0005312920000051236}, "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.00036787499999491047}}, {"call": {"outcome": "passed", "duration": 1.1600541669999984}, "setup": {"outcome": "passed", "duration": 0.0010292919999983496}, "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.0001438749999920219}}, {"call": {"outcome": "passed", "duration": 0.043917582999995375}, "setup": {"outcome": "passed", "duration": 0.0005284169999981714}, "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.00044554100003324493}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018839159999970434, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 147, in test_read_resp_metadata\n    inv = obspy.read_inventory(filename_a)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011701249999873653}, "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.00021704199997429896}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008963750000248183, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 292, in test_read_seed_metainformation\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005381670000019767}, "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.00019504200002984362}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007070409999982985, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 404, in test_response_calculation_from_resp_files\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005199589999733689}, "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.00017758300003833938}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.02107104200001686, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 438, in test_response_calculation_from_seed_and_xseed\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004791669999804071}, "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.00054362499997751}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00723924999999781, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 515, in test_warning_when_blockette_54_is_not_followed_by_57\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001518124999961401}, "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.0002125420000425038}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00573279099995716, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 548, in test_warning_when_blockette_57_is_not_followed_by_58\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004811669999753576}, "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.00018549999998640487}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "outcome": "failed", "duration": 0.0015066670000010163, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 567, in test_warning_with_multiple_blockettes_58_in_stage_0\n    obspy.read_inventory(filename)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 566, in test_warning_with_multiple_blockettes_58_in_stage_0\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "setup": {"outcome": "passed", "duration": 0.0007707919999688784}, "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.00016175000001794615}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple different blockettes 58 for stage 0. The last one will be chosen - this is a faulty file - try to fix it!)"}, "outcome": "failed", "duration": 0.0015289170000301056, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 579, in test_warning_with_multiple_differing_blockettes_58_in_stage_0\n    obspy.read_inventory(filename)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 578, in test_warning_with_multiple_differing_blockettes_58_in_stage_0\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple different blockettes 58 for stage 0. The last one will be chosen - this is a faulty file - try to fix it!)"}, "setup": {"outcome": "passed", "duration": 0.001434041999971214}, "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.00018158300002824035}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005457125000020824, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 589, in test_blkts_53_and_54_in_one_stage\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00046295900000359325}, "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.0003004999999802749}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002675291000002744, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 611, in test_reconstructing_stage_0_from_other_blockettes\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0018122500000004038}, "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.00019504200002984362}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001880292000009831, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 628, in test_parsing_blockette_62\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006557079999538473}, "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.00022825000002058005}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008856669999772748, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 653, in test_parsing_blockette_62_as_stage_0\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005327920000013364}, "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.0001330419999590049}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "outcome": "failed", "duration": 0.0011422079999761081, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 670, in test_warning_with_no_blockettes_58\n    obspy.read_inventory(filename)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 669, in test_warning_with_no_blockettes_58\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "setup": {"outcome": "passed", "duration": 0.0006115420000014637}, "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.00048458300000220333}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001992666999967696, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 680, in test_paz_with_no_actual_values\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0013284579999890411}, "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.00016245800003389377}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022033330000112983, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 696, in test_response_of_strain_meter\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000901209000005565}, "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.00019450000002052548}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019344169999726546, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 717, in test_response_multiple_gain_blockettes\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004705000000058135}, "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.0002103330000409187}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002132417000041187, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 736, in test_response_regression_1\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004687499999818101}, "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.00045733399997516244}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005805500000008124, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 758, in test_response_regression_2\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001236375000019052}, "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.00016645799996695132}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008706250000045657, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 781, in test_response_regression_segfault\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005391249999888714}, "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.00015124999998761268}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019638750000012806, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 799, in test_response_lots_zero_frequency_gains\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005738329999758207}, "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.00038858400000663096}}, {"call": {"outcome": "passed", "duration": 0.0001805839999633463}, "setup": {"outcome": "passed", "duration": 0.0007875840000224343}, "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.0003954169999929036}}, {"call": {"outcome": "passed", "duration": 0.002684499999986656}, "setup": {"outcome": "passed", "duration": 0.0005044170000019221}, "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.00011429199997792239}}, {"call": {"outcome": "passed", "duration": 0.002919416999986879}, "setup": {"outcome": "passed", "duration": 0.000207416000023386}, "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.00012050000003682726}}, {"call": {"outcome": "passed", "duration": 0.0002774590000171884}, "setup": {"outcome": "passed", "duration": 0.00021075000000791988}, "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": 8.779199998798504e-05}}, {"call": {"outcome": "passed", "duration": 0.001920165999990786}, "setup": {"outcome": "passed", "duration": 0.0005818330000124661}, "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": 9.474999995973121e-05}}, {"call": {"outcome": "passed", "duration": 0.0005025840000030257}, "setup": {"outcome": "passed", "duration": 0.00017433400000754773}, "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.00010041699999874254}}, {"call": {"outcome": "passed", "duration": 0.008220750000020871}, "setup": {"outcome": "passed", "duration": 0.0007292079999956513}, "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.00013666699999248522}}, {"call": {"outcome": "passed", "duration": 0.000202915999977904}, "setup": {"outcome": "passed", "duration": 0.0004031670000017584}, "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.00011920899999040557}}, {"call": {"outcome": "passed", "duration": 0.0001785829999789712}, "setup": {"outcome": "passed", "duration": 0.0003500839999901473}, "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": 9.487500000204818e-05}}, {"call": {"outcome": "passed", "duration": 0.0017393340000353419}, "setup": {"outcome": "passed", "duration": 0.00022933299999294832}, "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.00010833400000365145}}, {"call": {"outcome": "passed", "duration": 0.00692045800002461}, "setup": {"outcome": "passed", "duration": 0.00025083299999550945}, "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.00016362499997057967}}, {"call": {"outcome": "passed", "duration": 0.00689383399998178}, "setup": {"outcome": "passed", "duration": 0.0002813340000216158}, "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.0001341249999882166}}, {"call": {"outcome": "passed", "duration": 0.0002394169999888618}, "setup": {"outcome": "passed", "duration": 0.00029775000001563967}, "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": 9.458400000994516e-05}}, {"call": {"outcome": "passed", "duration": 0.0017068750000248656}, "setup": {"outcome": "passed", "duration": 0.00025575000000799264}, "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.00011695799997823997}}, {"call": {"outcome": "passed", "duration": 0.0027552500000069813}, "setup": {"outcome": "passed", "duration": 0.0007692500000189284}, "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.00022350000000415093}}, {"call": {"outcome": "passed", "duration": 0.0005115829999908783}, "setup": {"outcome": "passed", "duration": 0.0002702500000282271}, "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.00010125000000016371}}, {"call": {"outcome": "passed", "duration": 0.04137604200002443}, "setup": {"outcome": "passed", "duration": 0.00025287500000104046}, "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.00014233300004207194}}, {"call": {"outcome": "passed", "duration": 0.41133954200000744}, "setup": {"outcome": "passed", "duration": 0.000292875000013737}, "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.0005215410000118936}}, {"call": {"outcome": "passed", "duration": 0.0022739999999998872}, "setup": {"outcome": "passed", "duration": 0.00031954199999972843}, "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.00013599999999769352}}, {"call": {"outcome": "passed", "duration": 0.08797120799999902}, "setup": {"outcome": "passed", "duration": 0.00042670800002042597}, "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.0004815830000097776}}, {"call": {"outcome": "passed", "duration": 0.04912137499997016}, "setup": {"outcome": "passed", "duration": 0.00031849999999167267}, "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.0004589590000136923}}, {"call": {"outcome": "passed", "duration": 0.12662779200002205}, "setup": {"outcome": "passed", "duration": 0.00038129100005335204}, "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.0001472079999871312}}, {"call": {"outcome": "passed", "duration": 0.023924458999999842}, "setup": {"outcome": "passed", "duration": 0.0007762500000012551}, "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.00016679200001590289}}, {"call": {"outcome": "passed", "duration": 0.04083624999998392}, "setup": {"outcome": "passed", "duration": 0.0003295829999956368}, "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.00015745799998967414}}, {"call": {"outcome": "passed", "duration": 0.02604770800002143}, "setup": {"outcome": "passed", "duration": 0.0003289579999545822}, "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.00015583399999741232}}, {"call": {"outcome": "passed", "duration": 0.024996375000000626}, "setup": {"outcome": "passed", "duration": 0.00037458399998513414}, "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.0001404579999757516}}, {"call": {"outcome": "passed", "duration": 0.009811875000025339}, "setup": {"outcome": "passed", "duration": 0.0002795839999976124}, "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.00013991600002327687}}, {"call": {"outcome": "passed", "duration": 0.010320292000017162}, "setup": {"outcome": "passed", "duration": 0.00031383300000698}, "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.00016508400000248002}}, {"call": {"outcome": "passed", "duration": 0.001214749999974174}, "setup": {"outcome": "passed", "duration": 0.00028308299999935116}, "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.0001021669999659025}}, {"call": {"outcome": "passed", "duration": 0.0010589999999979227}, "setup": {"outcome": "passed", "duration": 0.00024145799994812478}, "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.0001289589999942109}}, {"call": {"outcome": "passed", "duration": 0.016961750000007214}, "setup": {"outcome": "passed", "duration": 0.00036020899995037325}, "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.00013870800000859163}}, {"call": {"outcome": "passed", "duration": 0.029218375000027663}, "setup": {"outcome": "passed", "duration": 0.00029795799997600625}, "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.00014241700000638957}}, {"call": {"outcome": "passed", "duration": 0.009710832999985541}, "setup": {"outcome": "passed", "duration": 0.00030150000003459354}, "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.00015220800003135082}}, {"call": {"outcome": "passed", "duration": 0.014049666000005345}, "setup": {"outcome": "passed", "duration": 0.0003009590000147}, "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.00026870799996459027}}, {"call": {"outcome": "passed", "duration": 0.025717583000016475}, "setup": {"outcome": "passed", "duration": 0.00035887499996078986}, "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.00048029200002019934}}, {"call": {"outcome": "passed", "duration": 0.007693749999987176}, "setup": {"outcome": "passed", "duration": 0.0009132920000070044}, "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.00016133299999410156}}, {"call": {"outcome": "passed", "duration": 0.023456500000008873}, "setup": {"outcome": "passed", "duration": 0.0004071669999916594}, "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.0005922500000110631}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007343749999790816, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_parser.py\", line 789, in test_rotation_to_zne\n    st = read(testdata[\"II_COCO_three_channel_borehole.mseed\"])\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000541625000039403}, "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.0004006249999974898}}, {"call": {"outcome": "passed", "duration": 0.003483500000015738}, "setup": {"outcome": "passed", "duration": 0.0008486250000032669}, "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.0001251669999646765}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.026202708999960578, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_parser.py\", line 858, in test_parsing_resp_file_without_clear_blkt_separation\n    obs_r = obspy.read_inventory(filename)[0][0][0].response\\\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00026904100002411724}, "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.00047266600000739345}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017706670000166014, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_parser.py\", line 868, in test_parsing_resp_file_with_mutiple_blockette55\n    inv_xml = obspy.read_inventory(testdata['issue3275.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007053749999954562}, "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.0014032499999530046}}, {"call": {"outcome": "passed", "duration": 0.01704345800004603}, "setup": {"outcome": "passed", "duration": 0.0008293749999666034}, "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.00015229100000624385}}, {"call": {"outcome": "passed", "duration": 0.01653358300001173}, "setup": {"outcome": "passed", "duration": 0.0002994170000079066}, "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.00018116699999382035}}, {"call": {"outcome": "passed", "duration": 0.017017874999964988}, "setup": {"outcome": "passed", "duration": 0.0003248749999897882}, "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.00013991599996643345}}, {"call": {"outcome": "passed", "duration": 0.06079420899999377}, "setup": {"outcome": "passed", "duration": 0.0002921660000083648}, "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.00014645800001744647}}, {"call": {"outcome": "passed", "duration": 0.052954959000032886}, "setup": {"outcome": "passed", "duration": 0.00028808299998672737}, "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.0007424169999694641}}, {"call": {"outcome": "passed", "duration": 0.00018245799998339862}, "setup": {"outcome": "passed", "duration": 0.0003790000000094551}, "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": 9.49160000232041e-05}}, {"call": {"outcome": "passed", "duration": 0.0004265419999569531}, "setup": {"outcome": "passed", "duration": 0.00017420899996523076}, "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": 9.691700000757919e-05}}, {"call": {"outcome": "passed", "duration": 0.00030541699999275806}, "setup": {"outcome": "passed", "duration": 0.00017595799999980954}, "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": 8.345800000597592e-05}}, {"call": {"outcome": "passed", "duration": 0.049529041000027973}, "setup": {"outcome": "passed", "duration": 0.0001699999999686952}, "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.00013904099995443175}}, {"call": {"outcome": "skipped", "duration": 0.0001310409999746298, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.000512375000027987}, "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": 8.875000003172318e-05}}, {"call": {"outcome": "failed", "duration": 0.01725770799998827, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.y.core._read_y[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/y/core.py:149: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00018091600003344865}, "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.00015300000001161607}}, {"call": {"outcome": "passed", "duration": 0.0007889579999869056}, "setup": {"outcome": "passed", "duration": 0.0018268750000061118}, "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.0003388749999544416}}, {"call": {"outcome": "passed", "duration": 0.0024683340000137832}, "setup": {"outcome": "passed", "duration": 0.0007374999999569809}, "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.00025879099996473087}}, {"call": {"outcome": "passed", "duration": 0.0008554169999683836}, "setup": {"outcome": "passed", "duration": 0.00023729099996216974}, "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.0002694579999911184}}, {"call": {"outcome": "failed", "duration": 0.011928207999972074, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.zmap[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00046654100003706844}, "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.00015112500000213913}}, {"call": {"outcome": "passed", "duration": 0.007895000000019081}, "setup": {"outcome": "passed", "duration": 0.0004722909999941294}, "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.0001533340000037242}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020895410000321135, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.00020891599996275545}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008378340000376738, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.00018662500002619709}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007194170000275335, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.00019374999999399733}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007308749999879183, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.00021320799999102746}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016507500000102482, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.00019699999995737016}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007015410000121847, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.00011833299998897928}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008327919999828737, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.00015391599998793026}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006658749999814972, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.0006779999999935171}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024668329999713023, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.0005676669999843398}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008439580000185742, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.00021887499997319537}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003215916999977253, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.0004116250000265609}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015880000000265682, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.0002134999999725551}}, {"setup": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002224291999993966, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/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.00032499999997526174}}, {"call": {"outcome": "failed", "duration": 0.010199417000023914, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.realtime.rttrace.RtTrace[3]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/realtime/rttrace.py:67: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004926670000031663}, "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.0004969999999957508}}, {"call": {"outcome": "passed", "duration": 0.0004383339999662894}, "setup": {"outcome": "passed", "duration": 0.0005935830000112219}, "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": 9.737499999573629e-05}}, {"call": {"outcome": "passed", "duration": 0.0003111670000066624}, "setup": {"outcome": "passed", "duration": 0.00017595899998923414}, "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.0001084170000353879}}, {"call": {"outcome": "passed", "duration": 0.0009183340000049611}, "setup": {"outcome": "passed", "duration": 0.00017895799999223527}, "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.00011029099999859682}}, {"call": {"outcome": "passed", "duration": 0.0008352080000122442}, "setup": {"outcome": "passed", "duration": 0.00021862500000224827}, "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.0001068749999717511}}, {"call": {"outcome": "passed", "duration": 0.0005074170000511913}, "setup": {"outcome": "passed", "duration": 0.00018612499997061605}, "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": 8.737499996414044e-05}}, {"call": {"outcome": "passed", "duration": 0.000694207999970331}, "setup": {"outcome": "passed", "duration": 0.00016145900002584312}, "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": 8.945899998025197e-05}}, {"call": {"outcome": "passed", "duration": 0.0005915830000162714}, "setup": {"outcome": "passed", "duration": 0.00028600000001688386}, "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": 8.816700000124911e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016730419999930746, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/realtime/tests/test_rttrace.py\", line 181, in test_append_not_float32\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002962919999731639}, "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.00013204099997210506}}, {"call": {"outcome": "passed", "duration": 0.0015722080000273309}, "setup": {"outcome": "passed", "duration": 0.00020375000002559318}, "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.00010083399996574371}}, {"call": {"outcome": "passed", "duration": 0.010211333000029299}, "setup": {"outcome": "passed", "duration": 0.0044057090000251264}, "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.00021249999997507985}}, {"call": {"outcome": "passed", "duration": 0.012554082999997718}, "setup": {"outcome": "passed", "duration": 0.004041625000013482}, "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.00016429200002221478}}, {"call": {"outcome": "passed", "duration": 0.010141250000003765}, "setup": {"outcome": "passed", "duration": 0.0039167500000303335}, "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.001047458000016377}}, {"call": {"outcome": "passed", "duration": 0.030556249999960983}, "setup": {"outcome": "passed", "duration": 0.0034967089999895506}, "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.00016083299999536393}}, {"call": {"outcome": "passed", "duration": 0.0018594160000020565}, "setup": {"outcome": "passed", "duration": 0.006051541999966048}, "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.0001465419999817641}}, {"call": {"outcome": "passed", "duration": 0.0016265840000073695}, "setup": {"outcome": "passed", "duration": 0.004086791999952766}, "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.0001307500000393702}}, {"call": {"outcome": "passed", "duration": 0.057713624999962576}, "setup": {"outcome": "passed", "duration": 0.006912209000006442}, "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.00016845900000816982}}, {"call": {"outcome": "passed", "duration": 0.009616958000037812}, "setup": {"outcome": "passed", "duration": 0.005032665999976871}, "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.0012488749999874926}}, {"call": {"outcome": "passed", "duration": 0.05375683300002265}, "setup": {"outcome": "passed", "duration": 0.004478250000033768}, "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.0001521670000101949}}, {"call": {"outcome": "passed", "duration": 0.009266834000015933}, "setup": {"outcome": "passed", "duration": 0.009306833999971786}, "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.0001460830000041824}}, {"call": {"outcome": "passed", "duration": 0.018196082999963892}, "setup": {"outcome": "passed", "duration": 0.004072542000017165}, "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.00015524999997751365}}, {"call": {"outcome": "passed", "duration": 0.021904040999970675}, "setup": {"outcome": "passed", "duration": 0.0052450410000233205}, "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.00028241600000455946}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001294125000015356, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/tests/test_print.py\", line 18, in test_print\n    obspy_print(all_files)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/print.py\", line 31, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008065000000101463}, "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.00013358300003574186}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002990749999980835, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/tests/test_print.py\", line 27, in test_print_nomerge\n    obspy_print(['--no-merge'] + all_files)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/print.py\", line 31, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000204957999983435}, "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.00020466699999133198}}, {"call": {"outcome": "failed", "duration": 0.005469375000018317, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/__init__.py:40: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004693750000228647}, "lineno": 1, "nodeid": "signal/__init__.py::obspy.signal", "outcome": "failed", "keywords": ["obspy.signal", "filterwarnings", "__init__.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001312499999812644}}, {"call": {"outcome": "failed", "duration": 0.0047888330000205315, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:132: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002754580000328133}, "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.00011929200002214202}}, {"call": {"outcome": "failed", "duration": 0.005791917000010471, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate_stream_template[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:832: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002015420000134327}, "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.0003722499999980755}}, {"call": {"outcome": "failed", "duration": 0.007137749999969856, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate_template[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:232: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00025737499998967905}, "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.0001859580000314054}}, {"call": {"outcome": "failed", "duration": 0.005932749999999487, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlation_detector[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:1047: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002416660000221782}, "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.00013966600005232976}}, {"call": {"outcome": "failed", "duration": 0.012063584000031824, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.templates_max_similarity[3]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:647: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00041633400002183407}, "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.0001409160000207521}}, {"call": {"outcome": "passed", "duration": 0.005909458000019185}, "setup": {"outcome": "passed", "duration": 0.0004072079999559719}, "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.00035024999999677675}}, {"call": {"outcome": "failed", "duration": 0.009818999999993139, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.detrend.polynomial[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/detrend.py:85: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007683750000069267}, "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.00013495800004648117}}, {"call": {"outcome": "failed", "duration": 0.005203584000014416, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.detrend.spline[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/detrend.py:148: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0002312920000235863}, "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.0001817080000137139}}, {"call": {"outcome": "passed", "duration": 0.0036190420000252743}, "setup": {"outcome": "passed", "duration": 0.0006917499999872234}, "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.0003823330000045644}}, {"call": {"outcome": "passed", "duration": 0.002996208000013212}, "setup": {"outcome": "passed", "duration": 0.0008553749999578031}, "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.0001751670000089689}}, {"call": {"outcome": "passed", "duration": 0.0022099999999909414}, "setup": {"outcome": "passed", "duration": 0.0004792919999658807}, "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.00012429200000951823}}, {"call": {"outcome": "skipped", "duration": 0.000154875000021093, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0002852499999903557}, "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": 9.820799999715746e-05}}, {"call": {"outcome": "passed", "duration": 0.0035159589999693708}, "setup": {"outcome": "passed", "duration": 0.0007583329999647503}, "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.0001237909999645126}}, {"call": {"outcome": "failed", "duration": 0.0064886249999744905, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.spectral_estimation.PPSD[2]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/spectral_estimation.py:216: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000298917000009169}, "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.00016333299998905204}}, {"call": {"outcome": "passed", "duration": 1.1419988749999561}, "setup": {"outcome": "passed", "duration": 0.001788292000014735}, "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.0002721249999808606}}, {"call": {"outcome": "passed", "duration": 1.1850276669999857}, "setup": {"outcome": "passed", "duration": 0.00037508399998387176}, "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.0001679580000200076}}, {"call": {"outcome": "passed", "duration": 1.3444934999999987}, "setup": {"outcome": "passed", "duration": 0.000640040999996927}, "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.00016604199998937474}}, {"call": {"outcome": "passed", "duration": 0.0004970830000274873}, "setup": {"outcome": "passed", "duration": 0.00042083400001047266}, "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.00010370799998327129}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0187902090000307, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 24, in test_relcal_sts2_vs_unknown\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0016963329999839516}, "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.00019737499997063424}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008233749999817519, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 69, in test_relcal_using_traces\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011731669999903716}, "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.0004229169999803162}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018792919999555124, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 88, in test_relcal_different_overlaps\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.002151207999986582}, "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.00021454199998061085}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011349170000016784, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 115, in test_relcal_using_dict\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002907919999870501}, "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.0004916249999951106}}, {"call": {"outcome": "passed", "duration": 0.11630591599998752}, "setup": {"outcome": "passed", "duration": 0.11400841699997954}, "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.00014954199997418982}}, {"call": {"outcome": "passed", "duration": 0.28531483399996205}, "setup": {"outcome": "passed", "duration": 0.003242708000016137}, "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.00014462500001855005}}, {"call": {"outcome": "passed", "duration": 0.07912466600004109}, "setup": {"outcome": "passed", "duration": 0.00809279200001356}, "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.00015966600000183462}}, {"call": {"outcome": "passed", "duration": 0.0621900830000186}, "setup": {"outcome": "passed", "duration": 0.005184958999961964}, "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.000577375000034408}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002896792000001369, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 37, in test_correlate_normalize_true_false\n    a = read()[0].data[500:]\n        ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005286250000153814}, "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.00020375000002559318}}, {"call": {"outcome": "passed", "duration": 0.0020860419999735313}, "setup": {"outcome": "passed", "duration": 0.0006303749999574393}, "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.00041112499997097984}}, {"call": {"outcome": "passed", "duration": 0.0009330419999855621}, "setup": {"outcome": "passed", "duration": 0.0010199999999827014}, "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.00011937499999703505}}, {"call": {"outcome": "passed", "duration": 0.0009843750000300133}, "setup": {"outcome": "passed", "duration": 0.0003905000000372638}, "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.0004558750000001055}}, {"call": {"outcome": "passed", "duration": 0.0015876249999564607}, "setup": {"outcome": "passed", "duration": 0.0007324579999590242}, "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.0002881249999973079}}, {"call": {"outcome": "passed", "duration": 0.0024558329999990747}, "setup": {"outcome": "passed", "duration": 0.00025108299996645655}, "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.0004204999999615211}}, {"call": {"outcome": "passed", "duration": 0.0028843339999866657}, "setup": {"outcome": "passed", "duration": 0.00041312500002277375}, "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.0004752500000222426}}, {"call": {"outcome": "passed", "duration": 0.000656625000033273}, "setup": {"outcome": "passed", "duration": 0.0003225840000027347}, "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.00013179199999058255}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0034232080000151655, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 187, in test_xcorr_3c\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020883299998786242}, "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.00021749999996245606}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018409580000025016, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 200, in test_xcorr_pick_correction\n    st1 = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.004214749999960077}, "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.0005066669999678197}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002206458999978622, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 229, in test_xcorr_pick_correction_images\n    st1 = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012971250000077816}, "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.0002924170000255799}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021623330000011265, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 269, in test_correlate_template_eqcorrscan\n    data = read()[0].data\n           ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002439589999880809}, "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.00018808300001182943}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0035819579999838425, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 294, in test_correlate_template_eqcorrscan_time\n    data = read()[0].data\n           ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006425830000011956}, "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.00016679099996963487}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003233000000022912, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 304, in test_correlate_template_different_normalizations\n    data = read()[0].data\n           ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00024929199997814067}, "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.00016475000001037188}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017404590000182907, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 320, in test_correlate_template_correct_alignment_of_normalization\n    data = read()[0].data\n           ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00019933300001184762}, "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.00011854100000618928}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014259580000270944, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 332, in test_correlate_template_versus_correlate\n    data = read()[0].data\n           ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00018449999998892963}, "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.00023437499999090505}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0030040409999969597, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 341, in test_correlate_template_zeros_in_input\n    data = read()[0].data[380:420]\n           ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00018775000000914588}, "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.00022220799996830465}}, {"call": {"outcome": "passed", "duration": 0.005676708999999391}, "setup": {"outcome": "passed", "duration": 0.00021624999999403371}, "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.00014587500004381582}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0027762910000319607, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 410, in test_correlate_template_nodemean_fastmatchedfilter\n    data = read()[0].data\n           ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005003329999908601}, "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.0001810000000546097}}, {"call": {"outcome": "passed", "duration": 0.001852832999986731}, "setup": {"outcome": "passed", "duration": 0.0002290410000114207}, "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.00012570800004141347}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018945829999665875, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 441, in test_correlate_stream_template_and_correlation_detector\n    template = read().filter('highpass', freq=5).normalize()\n               ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00024170800003275872}, "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.0007686669999884543}}, {"call": {"outcome": "passed", "duration": 0.0012204159999669173}, "setup": {"outcome": "passed", "duration": 0.0003003329999842208}, "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.0005404579999890302}}, {"call": {"outcome": "passed", "duration": 0.0006861249999587926}, "setup": {"outcome": "passed", "duration": 0.00026229200000216224}, "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.0001805830000307651}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001718917000005149, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_detrend.py\", line 56, in test_polynomial_detrend_plotting\n    tr = obspy.read()[0].filter(\"highpass\", freq=2)\n         ^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00027312500003517926}, "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.00019266700002162906}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018249579999860543, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_detrend.py\", line 65, in test_spline_detrend_plotting\n    tr = obspy.read()[0].filter(\"highpass\", freq=2)\n         ^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028512500000488217}, "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.00024270899996281514}}, {"call": {"outcome": "passed", "duration": 0.0005562499999882675}, "setup": {"outcome": "passed", "duration": 0.00022062500005404218}, "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": 8.83750000184591e-05}}, {"call": {"outcome": "passed", "duration": 0.0018197919999920487}, "setup": {"outcome": "passed", "duration": 0.00027404200000091805}, "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": 9.362499997678242e-05}}, {"call": {"outcome": "passed", "duration": 0.011689541999999165}, "setup": {"outcome": "passed", "duration": 0.0010013330000333553}, "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.0004558339999789496}}, {"call": {"outcome": "passed", "duration": 0.010605125000040516}, "setup": {"outcome": "passed", "duration": 0.00028195900000582697}, "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.0001377909999860094}}, {"call": {"outcome": "passed", "duration": 0.009445500000026641}, "setup": {"outcome": "passed", "duration": 0.00023483400002533017}, "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.00014824999999518695}}, {"call": {"outcome": "passed", "duration": 0.0039755000000241125}, "setup": {"outcome": "passed", "duration": 0.00028649999995877806}, "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.00014754200003608275}}, {"call": {"outcome": "passed", "duration": 0.00449316699996416}, "setup": {"outcome": "passed", "duration": 0.00021583399995961372}, "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.0001386250000336986}}, {"call": {"outcome": "passed", "duration": 0.005098916999997982}, "setup": {"outcome": "passed", "duration": 0.00024187499997196937}, "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.0018224169999712103}}, {"call": {"outcome": "passed", "duration": 0.005739167000001544}, "setup": {"outcome": "passed", "duration": 0.0008623329999863927}, "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.0001373329999978523}}, {"call": {"outcome": "passed", "duration": 0.002772875000005115}, "setup": {"outcome": "passed", "duration": 0.00024491700003181904}, "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.0001372920000335398}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029796249999662905, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_filter.py\", line 234, in test_bandpass_high_corner_at_nyquist\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00023887500003638706}, "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.00015887499995415055}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018160000000193577, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_filter.py\", line 275, in test_filterarr2d_axis_and_zerophase\n    stream = read()\n             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00021870900002340932}, "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.00025329200002488506}}, {"call": {"outcome": "passed", "duration": 0.01745975000000044}, "setup": {"outcome": "passed", "duration": 0.004015959000014391}, "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.00019508300005099954}}, {"call": {"outcome": "passed", "duration": 0.00044812499999125066}, "setup": {"outcome": "passed", "duration": 0.00445662499998889}, "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.00012945800000352392}}, {"call": {"outcome": "passed", "duration": 0.006735957999978837}, "setup": {"outcome": "passed", "duration": 0.003960082999981296}, "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.00013933300004964622}}, {"call": {"outcome": "passed", "duration": 0.014120457999979408}, "setup": {"outcome": "passed", "duration": 0.006772333000014896}, "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.00028908300004104603}}, {"call": {"outcome": "passed", "duration": 0.003034499999955642}, "setup": {"outcome": "passed", "duration": 0.005233665999980985}, "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.0001684579999619018}}, {"call": {"outcome": "passed", "duration": 0.005176791999986108}, "setup": {"outcome": "passed", "duration": 0.004568833000007544}, "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.0005499580000218884}}, {"call": {"outcome": "passed", "duration": 0.004133542000033685}, "setup": {"outcome": "passed", "duration": 0.0038580000000365544}, "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.00021658299999671726}}, {"call": {"outcome": "passed", "duration": 0.0009561249999592292}, "setup": {"outcome": "passed", "duration": 0.00037250000002586603}, "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": 9.958300000789677e-05}}, {"call": {"outcome": "passed", "duration": 0.0008523749999653774}, "setup": {"outcome": "passed", "duration": 0.00017883300000676172}, "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.00010612500000206637}}, {"call": {"outcome": "passed", "duration": 0.0013923750000230939}, "setup": {"outcome": "passed", "duration": 0.00024266600001965344}, "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.00010691699998233162}}, {"call": {"outcome": "passed", "duration": 1.3336878750000096}, "setup": {"outcome": "passed", "duration": 0.00030129100002795894}, "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.00018566699998245895}}, {"call": {"outcome": "passed", "duration": 0.024865000000033888}, "setup": {"outcome": "passed", "duration": 0.0010689589999515192}, "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.00012745800000857344}}, {"call": {"outcome": "passed", "duration": 0.10652620799999113}, "setup": {"outcome": "passed", "duration": 0.000255041999992045}, "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.00012562500000967702}}, {"call": {"outcome": "passed", "duration": 0.05291041700002097}, "setup": {"outcome": "passed", "duration": 0.00029029199998831245}, "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.00012770799997952054}}, {"call": {"outcome": "passed", "duration": 0.2402355000000398}, "setup": {"outcome": "passed", "duration": 0.0002512079999519301}, "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.00017850000000407817}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018752080000012938, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_invsim.py\", line 277, in test_evalresp_vs_obspy\n    tr = read(rawf)[0]\n         ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0017975000000092223}, "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.00022858399995584477}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008646250000197142, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_invsim.py\", line 305, in test_cosine_taper\n    tr = read(sac_taper)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039558399998895766}, "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.00017029200000706624}}, {"call": {"outcome": "passed", "duration": 0.010851791999982652}, "setup": {"outcome": "passed", "duration": 0.00025512499996693805}, "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.00016754200004243103}}, {"call": {"outcome": "passed", "duration": 0.030533332999993945}, "setup": {"outcome": "passed", "duration": 0.0002428330000157075}, "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.00012991700003794904}}, {"call": {"outcome": "passed", "duration": 0.003475708999985727}, "setup": {"outcome": "passed", "duration": 0.00023225000001048102}, "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.00027066600000580365}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001746374999981981, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_invsim.py\", line 406, in test_evalresp_file_like_object\n    tr1 = read(rawf)[0]\n          ^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006366249999700813}, "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.00025899999997136547}}, {"call": {"outcome": "passed", "duration": 0.006047999999964304}, "setup": {"outcome": "passed", "duration": 0.00023500000003195964}, "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.00011824999995724284}}, {"call": {"outcome": "passed", "duration": 0.007177042000023448}, "setup": {"outcome": "passed", "duration": 0.0007317910000210759}, "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.00012608399998725872}}, {"call": {"outcome": "passed", "duration": 0.001311708000002909}, "setup": {"outcome": "passed", "duration": 0.0006702080000309252}, "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.00017462499999965075}}, {"call": {"outcome": "passed", "duration": 0.0005390000000033979}, "setup": {"outcome": "passed", "duration": 0.00039037499999494685}, "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.00014008299996248752}}, {"call": {"outcome": "passed", "duration": 0.0008989169999722435}, "setup": {"outcome": "passed", "duration": 0.0002144160000057127}, "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.00019849999995358303}}, {"call": {"outcome": "passed", "duration": 0.030664166999997633}, "setup": {"outcome": "passed", "duration": 0.0012679170000069462}, "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.0005925419999925907}}, {"call": {"outcome": "passed", "duration": 0.1418260000000373}, "setup": {"outcome": "passed", "duration": 0.009834707999971215}, "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.00018658299995877314}}, {"call": {"outcome": "passed", "duration": 0.0013432079999802227}, "setup": {"outcome": "passed", "duration": 0.0053087919999939}, "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.0001251250000109394}}, {"call": {"outcome": "passed", "duration": 0.09572558399997888}, "setup": {"outcome": "passed", "duration": 0.00471945900000037}, "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.00013941700001396384}}, {"call": {"outcome": "passed", "duration": 0.018328166999992845}, "setup": {"outcome": "passed", "duration": 0.005396458999996412}, "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.0007524160000116353}}, {"call": {"outcome": "passed", "duration": 1.4200644590000024}, "setup": {"outcome": "passed", "duration": 0.0060227499999996326}, "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.000267624999992222}}, {"call": {"outcome": "passed", "duration": 0.0023278339999706077}, "setup": {"outcome": "passed", "duration": 0.00031237499996450424}, "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.00012100000003556488}}, {"call": {"outcome": "passed", "duration": 0.07850920900000347}, "setup": {"outcome": "passed", "duration": 0.00038479200003394}, "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.00016499999998131898}}, {"call": {"outcome": "passed", "duration": 0.010927584000000934}, "setup": {"outcome": "passed", "duration": 0.0002204999999548818}, "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.00011254100002133782}}, {"call": {"outcome": "passed", "duration": 0.0688109160000181}, "setup": {"outcome": "passed", "duration": 0.00021608299999797964}, "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.00022508299997525683}}, {"call": {"outcome": "passed", "duration": 0.01306545800002823}, "setup": {"outcome": "passed", "duration": 0.0002357910000228003}, "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.00014520900003844872}}, {"call": {"outcome": "passed", "duration": 0.023372209000001476}, "setup": {"outcome": "passed", "duration": 0.0002306659999931071}, "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.00015625000003183231}}, {"call": {"outcome": "passed", "duration": 0.0384159170000089}, "setup": {"outcome": "passed", "duration": 0.00023279200001979916}, "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.00013004099997715457}}, {"call": {"outcome": "passed", "duration": 0.05013112500000716}, "setup": {"outcome": "passed", "duration": 0.00021804200002861762}, "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.00012220900003967472}}, {"call": {"outcome": "passed", "duration": 0.05690587499998401}, "setup": {"outcome": "passed", "duration": 0.0011269159999756084}, "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.00012612499995157123}}, {"call": {"outcome": "passed", "duration": 0.030722665999974197}, "setup": {"outcome": "passed", "duration": 0.0003884999999854699}, "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.0003474160000109805}}, {"call": {"outcome": "passed", "duration": 0.010748791999958485}, "setup": {"outcome": "passed", "duration": 0.00021504199997934847}, "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.00012133300003824843}}, {"call": {"outcome": "passed", "duration": 0.01446579200000997}, "setup": {"outcome": "passed", "duration": 0.00022020799997335416}, "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.00025641700000278433}}, {"call": {"outcome": "passed", "duration": 0.08452879099996835}, "setup": {"outcome": "passed", "duration": 0.00022629099998994207}, "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.0004059999999981301}}, {"call": {"outcome": "passed", "duration": 0.12472308299999213}, "setup": {"outcome": "passed", "duration": 0.0010099160000436314}, "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.0001217080000515125}}, {"call": {"outcome": "passed", "duration": 0.023629792000008365}, "setup": {"outcome": "passed", "duration": 0.00024700000000166256}, "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.0005242499999553729}}, {"call": {"outcome": "passed", "duration": 0.008409833000030176}, "setup": {"outcome": "passed", "duration": 0.0007825000000138971}, "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.00013299999994842437}}, {"call": {"outcome": "passed", "duration": 0.010728499999970609}, "setup": {"outcome": "passed", "duration": 0.00023475000000416912}, "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.00012370899997904417}}, {"call": {"outcome": "passed", "duration": 0.01105849999999009}, "setup": {"outcome": "passed", "duration": 0.00022404100002404448}, "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.00014283299998396615}}, {"call": {"outcome": "passed", "duration": 0.025477375000036773}, "setup": {"outcome": "passed", "duration": 0.0002389580000112801}, "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.00012083299998266739}}, {"call": {"outcome": "passed", "duration": 0.016105374999995092}, "setup": {"outcome": "passed", "duration": 0.0002498329999980342}, "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.00012954100003526037}}, {"call": {"outcome": "passed", "duration": 0.019040333000020837}, "setup": {"outcome": "passed", "duration": 0.00020129099999621758}, "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.00012158300000919553}}, {"call": {"outcome": "passed", "duration": 0.007895082999993974}, "setup": {"outcome": "passed", "duration": 0.0003119590000437711}, "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.0001345830000332171}}, {"setup": {"outcome": "skipped", "duration": 0.00014008299996248752, "longrepr": "('/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_quality_control.py', 847, 'Skipped: Test requires the jsonschema module')"}, "lineno": 846, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_schema_validation", "outcome": "skipped", "keywords": ["test_schema_validation", "skipif", "pytestmark", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018358400001261543}}, {"call": {"outcome": "passed", "duration": 0.003792375000045922}, "setup": {"outcome": "passed", "duration": 0.0003884999999854699}, "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.00013666699999248522}}, {"call": {"outcome": "passed", "duration": 0.0006162500000073123}, "setup": {"outcome": "passed", "duration": 0.00030037499999480133}, "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.00011375000002544766}}, {"call": {"outcome": "passed", "duration": 0.0005272920000152226}, "setup": {"outcome": "passed", "duration": 0.00024904200000719356}, "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.00010862499999575448}}, {"call": {"outcome": "passed", "duration": 0.00047424999996792394}, "setup": {"outcome": "passed", "duration": 0.00023008399995205764}, "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": 9.454100000994003e-05}}, {"call": {"outcome": "passed", "duration": 0.018710666999993464}, "setup": {"outcome": "passed", "duration": 0.0010316660000171396}, "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.00012291699999877892}}, {"call": {"outcome": "passed", "duration": 0.018840832999956092}, "setup": {"outcome": "passed", "duration": 0.00024029100001143888}, "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.0003624999999942702}}, {"call": {"outcome": "passed", "duration": 0.004358916000001045}, "setup": {"outcome": "passed", "duration": 0.0007547079999881134}, "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.0001352919999817459}}, {"call": {"outcome": "passed", "duration": 0.021638792000032936}, "setup": {"outcome": "passed", "duration": 0.0009200839999721211}, "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.00012312500001598892}}, {"call": {"outcome": "passed", "duration": 0.0020236670000031154}, "setup": {"outcome": "passed", "duration": 0.0002130830000055539}, "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": 8.712499999319334e-05}}, {"call": {"outcome": "passed", "duration": 0.001214957999991384}, "setup": {"outcome": "passed", "duration": 0.00018254200000455967}, "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": 9.062499998435669e-05}}, {"call": {"outcome": "passed", "duration": 0.00024095799994938716}, "setup": {"outcome": "passed", "duration": 0.00018199999999524152}, "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": 8.479100000613471e-05}}, {"call": {"outcome": "passed", "duration": 0.00029612500003395326}, "setup": {"outcome": "passed", "duration": 0.0002004579999947964}, "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": 8.391700004040104e-05}}, {"call": {"outcome": "passed", "duration": 0.0015630419999865808}, "setup": {"outcome": "passed", "duration": 0.00019195800001625685}, "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.00016833300003327167}}, {"call": {"outcome": "passed", "duration": 0.013789540999994188}, "setup": {"outcome": "passed", "duration": 0.00033937500001002263}, "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.00011816699998234981}}, {"call": {"outcome": "passed", "duration": 0.018162541999970472}, "setup": {"outcome": "passed", "duration": 0.0002234169999724145}, "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.00011829199996782336}}, {"call": {"outcome": "passed", "duration": 1.0210337080000045}, "setup": {"outcome": "passed", "duration": 0.00020916599999054597}, "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.00040229199998975673}}, {"call": {"outcome": "passed", "duration": 0.010376707999967039}, "setup": {"outcome": "passed", "duration": 0.0005462080000029346}, "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.0002558749999934662}}, {"call": {"outcome": "passed", "duration": 0.059878249999997024}, "setup": {"outcome": "passed", "duration": 0.0008288750000247092}, "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.0003905000000372638}}, {"call": {"outcome": "passed", "duration": 0.04180220900002496}, "setup": {"outcome": "passed", "duration": 0.0008372500000177752}, "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.00012462499995535836}}, {"call": {"outcome": "passed", "duration": 0.04215170800000578}, "setup": {"outcome": "passed", "duration": 0.0002038330000004862}, "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.00012316699996972602}}, {"call": {"outcome": "passed", "duration": 0.04248024999998279}, "setup": {"outcome": "passed", "duration": 0.00024224999998523344}, "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.0001399999999875945}}, {"call": {"outcome": "passed", "duration": 0.0005070830000022397}, "setup": {"outcome": "passed", "duration": 0.0002225419999604128}, "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": 9.074999996983024e-05}}, {"call": {"outcome": "passed", "duration": 0.00525837500003945}, "setup": {"outcome": "passed", "duration": 0.00016587499999332067}, "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.00010287500003869354}}, {"call": {"outcome": "passed", "duration": 0.0005933330000402748}, "setup": {"outcome": "passed", "duration": 0.000380584000026829}, "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": 9.324999996351835e-05}}, {"call": {"outcome": "passed", "duration": 0.002275333000000046}, "setup": {"outcome": "passed", "duration": 0.0010866249999708089}, "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.00011479200003350343}}, {"call": {"outcome": "passed", "duration": 0.0008890830000041205}, "setup": {"outcome": "passed", "duration": 0.00023025000001553053}, "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": 9.208299996998903e-05}}, {"call": {"outcome": "passed", "duration": 0.06585066700000652}, "setup": {"outcome": "passed", "duration": 1.1538646250000397}, "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.0001918330000307833}}, {"call": {"outcome": "passed", "duration": 0.010182499999984884}, "setup": {"outcome": "passed", "duration": 0.17668004099999735}, "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.0006322500000237596}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003688833000012437, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 254, in test_ppsd_w_iris\n    st = read(file_data_anmo)\n         ^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030175000000554064}, "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.0003392909999888616}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015886250000107793, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 319, in test_ppsd_w_iris_against_obspy_results\n    st = read(testdata['IUANMO.seed'])\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030129100002795894}, "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.0005549170000449521}}, {"call": {"outcome": "passed", "duration": 0.023715083000013237}, "setup": {"outcome": "passed", "duration": 0.21975974999998016}, "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.00017095800001243333}}, {"call": {"outcome": "passed", "duration": 2.191733417000023}, "setup": {"outcome": "passed", "duration": 0.000330292000001009}, "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.00020279199998185504}}, {"call": {"outcome": "passed", "duration": 0.8408314160000145}, "setup": {"outcome": "passed", "duration": 0.17294995899999321}, "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.0001663749999920583}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013460840000334429, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 509, in test_ppsd_infrasound\n    st = read(wf)\n         ^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002565839999988384}, "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.00018224999996618862}}, {"call": {"outcome": "passed", "duration": 0.1055384590000017}, "setup": {"outcome": "passed", "duration": 0.00025033299999677183}, "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.00017079200000580386}}, {"call": {"outcome": "passed", "duration": 0.0006559999999922184}, "setup": {"outcome": "passed", "duration": 0.0007737089999864111}, "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.00010108300000410964}}, {"call": {"outcome": "passed", "duration": 0.42502787500001205}, "setup": {"outcome": "passed", "duration": 0.0019323749999671236}, "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.0005379589999847667}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009808749999820066, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 691, in test_wrong_trace_id_message\n    inv = read_inventory(testdata['IUANMO.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.002128459000005023}, "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.000208959000019604}}, {"call": {"outcome": "passed", "duration": 0.0003740829999969719}, "setup": {"outcome": "passed", "duration": 0.19555216600002723}, "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.00013270900001316477}}, {"call": {"outcome": "passed", "duration": 0.10356316700000434}, "setup": {"outcome": "passed", "duration": 0.0013411670000209597}, "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.0002189159999943513}}, {"call": {"outcome": "passed", "duration": 0.10958466700003555}, "setup": {"outcome": "passed", "duration": 0.00022845800003779004}, "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.00015008299999408337}}, {"call": {"outcome": "passed", "duration": 0.81789950000001}, "setup": {"outcome": "passed", "duration": 0.00228062499996895}, "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.00014579199995523595}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016455410000162374, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 790, in test_ppsd_uneven_sampling_rate\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020408300002827673}, "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.0003000000000383807}}, {"call": {"outcome": "passed", "duration": 0.038913083000011284}, "setup": {"outcome": "passed", "duration": 0.0007710410000072443}, "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.0001893749999908323}}, {"call": {"outcome": "passed", "duration": 0.006844542000010279}, "setup": {"outcome": "passed", "duration": 0.0002243749999593092}, "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.00012087499999324791}}, {"call": {"outcome": "passed", "duration": 0.03162041699999918}, "setup": {"outcome": "passed", "duration": 0.22855812500000638}, "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.00044066699996392344}}, {"call": {"outcome": "passed", "duration": 0.019600625000009586}, "setup": {"outcome": "passed", "duration": 0.20074849999997468}, "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.000547832999984621}}, {"call": {"outcome": "passed", "duration": 0.009093333000009807}, "setup": {"outcome": "passed", "duration": 0.002437624999970467}, "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.00039400000002842717}}, {"call": {"outcome": "passed", "duration": 0.14640570799997477}, "setup": {"outcome": "passed", "duration": 0.0009153750000336913}, "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.00013454099996579316}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00242154200003597, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_stream.py\", line 137, in test_simulate\n    st1 = read()\n          ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002205000000117252}, "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.00014570900003718634}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001563792000013109, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_stream.py\", line 176, in test_decimate\n    st = read()\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00020079199998690456}, "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.00017195899999933317}}, {"call": {"outcome": "passed", "duration": 0.008558250000021417}, "setup": {"outcome": "passed", "duration": 0.0028867909999803487}, "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.00012766700001520803}}, {"call": {"outcome": "passed", "duration": 0.014449792000050365}, "setup": {"outcome": "passed", "duration": 0.0008464999999659995}, "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.0001986659999602125}}, {"call": {"outcome": "passed", "duration": 0.006429416999992554}, "setup": {"outcome": "passed", "duration": 0.0002543329999866728}, "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.00016270800000484087}}, {"call": {"outcome": "passed", "duration": 0.45423779099996864}, "setup": {"outcome": "passed", "duration": 0.0019525000000157888}, "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.00022754200000463243}}, {"call": {"outcome": "passed", "duration": 1.1722185829999603}, "setup": {"outcome": "passed", "duration": 0.0003309159999957956}, "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.00016895800001748285}}, {"call": {"outcome": "passed", "duration": 1.1646405829999935}, "setup": {"outcome": "passed", "duration": 0.00031187500002261004}, "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.0004815829999529342}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024580829999649723, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trace.py\", line 22, in test_simulate\n    tr = read()[0]\n         ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008267919999980222}, "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.00014758399998981986}}, {"call": {"outcome": "passed", "duration": 0.08847800000000916}, "setup": {"outcome": "passed", "duration": 0.00032683299997415816}, "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.0001373329999978523}}, {"call": {"outcome": "passed", "duration": 0.011461249999968004}, "setup": {"outcome": "passed", "duration": 0.0002186670000128288}, "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.00014899999996487168}}, {"call": {"outcome": "passed", "duration": 0.0007205410000210577}, "setup": {"outcome": "passed", "duration": 0.0030204590000266762}, "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.00011537500000713408}}, {"call": {"outcome": "passed", "duration": 0.11182525000003807}, "setup": {"outcome": "passed", "duration": 0.0011151250000125401}, "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.00012474999999767533}}, {"call": {"outcome": "passed", "duration": 0.00020075000003316745}, "setup": {"outcome": "passed", "duration": 0.0002552079999986745}, "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": 8.383300001923999e-05}}, {"call": {"outcome": "passed", "duration": 0.1483615419999751}, "setup": {"outcome": "passed", "duration": 0.0010267500000509244}, "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.0004671670000107042}}, {"call": {"outcome": "passed", "duration": 0.1250800839999897}, "setup": {"outcome": "passed", "duration": 0.0006421250000130385}, "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.0002577089999817872}}, {"call": {"outcome": "passed", "duration": 0.00031300000000555883}, "setup": {"outcome": "passed", "duration": 0.00028012499996066254}, "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.0002107920000185004}}, {"call": {"outcome": "passed", "duration": 0.00026341699998511103}, "setup": {"outcome": "passed", "duration": 0.00028683400000772963}, "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.00035208399998509776}}, {"call": {"outcome": "passed", "duration": 0.003458625000007487}, "setup": {"outcome": "passed", "duration": 0.000256791999959205}, "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.0001431670000329177}}, {"call": {"outcome": "passed", "duration": 0.04848320799999328}, "setup": {"outcome": "passed", "duration": 0.0006227079999803209}, "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.0004299579999837988}}, {"call": {"outcome": "passed", "duration": 0.03641187499999887}, "setup": {"outcome": "passed", "duration": 0.0009592079999833913}, "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.0002146250000123473}}, {"call": {"outcome": "passed", "duration": 0.02255133399995657}, "setup": {"outcome": "passed", "duration": 0.0011614169999916157}, "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.0001237500000002001}}, {"call": {"outcome": "passed", "duration": 0.0004464159999884032}, "setup": {"outcome": "passed", "duration": 0.00023666700002422658}, "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": 9.695800002873511e-05}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023567499999899155, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trigger.py\", line 235, in test_trigger_onset_issue_2891\n    tr = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00024183400000765687}, "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.00018245799998339862}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002072584000018196, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trigger.py\", line 249, in test_coincidence_trigger\n    st += read(testdata[filename])\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00027108300002964825}, "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.0001938750000363143}}, {"call": {"crash": {"path": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019727920000036647, "longrepr": "Traceback (most recent call last):\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trigger.py\", line 474, in test_coincidence_trigger_with_similarity_checking\n    st += read(testdata[filename])\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005747079999878224}, "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.00018812500002240995}}, {"call": {"outcome": "passed", "duration": 0.0014066670000261183}, "setup": {"outcome": "passed", "duration": 0.00025391600001967163}, "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.00021158399999876565}}, {"call": {"outcome": "passed", "duration": 0.0002673749999644315}, "setup": {"outcome": "passed", "duration": 0.00033666600000969993}, "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.00011470800001234238}}, {"call": {"outcome": "passed", "duration": 0.00017549999995480903}, "setup": {"outcome": "passed", "duration": 0.00024125000004460162}, "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.00013412500004506}}, {"call": {"outcome": "passed", "duration": 0.0007890830000292226}, "setup": {"outcome": "passed", "duration": 0.00023166700003685037}, "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.00012062499996545739}}, {"call": {"outcome": "passed", "duration": 0.0002058749999491738}, "setup": {"outcome": "passed", "duration": 0.00032812500001000444}, "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.00010104099999352911}}, {"call": {"outcome": "passed", "duration": 0.00022933399998237292}, "setup": {"outcome": "passed", "duration": 0.00020408300002827673}, "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.00010108300000410964}}, {"call": {"outcome": "passed", "duration": 0.0002193330000181959}, "setup": {"outcome": "passed", "duration": 0.0002583749999871543}, "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": 9.816700003284495e-05}}, {"call": {"outcome": "passed", "duration": 0.00017537499996933548}, "setup": {"outcome": "passed", "duration": 0.00024333299995760171}, "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": 9.520899999415633e-05}}, {"call": {"outcome": "passed", "duration": 0.0001859999999851425}, "setup": {"outcome": "passed", "duration": 0.00047466700004861195}, "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.00010083400002258713}}, {"call": {"outcome": "passed", "duration": 0.00021679200000335186}, "setup": {"outcome": "passed", "duration": 0.00026366699995605813}, "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.00011054199995896852}}, {"call": {"outcome": "passed", "duration": 0.0006725000000074033}, "setup": {"outcome": "passed", "duration": 0.00024395900004492432}, "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.00014620899997908055}}, {"call": {"outcome": "passed", "duration": 0.00359120799998891}, "setup": {"outcome": "passed", "duration": 0.00030900000001565786}, "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.0004940420000139056}}, {"call": {"outcome": "passed", "duration": 0.003239042000018344}, "setup": {"outcome": "passed", "duration": 0.00038658299996541245}, "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.00012700000002041634}}, {"call": {"outcome": "passed", "duration": 0.005073041000002831}, "setup": {"outcome": "passed", "duration": 0.0006702499999846623}, "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.0005766249999510364}}, {"call": {"outcome": "passed", "duration": 0.0040442920000032245}, "setup": {"outcome": "passed", "duration": 0.001078624999991007}, "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.0005280830000060632}}, {"call": {"outcome": "passed", "duration": 0.0031965420000119593}, "setup": {"outcome": "passed", "duration": 0.0008845000000405889}, "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.0010956660000260854}}, {"call": {"outcome": "passed", "duration": 0.0025267909999797666}, "setup": {"outcome": "passed", "duration": 0.0010535410000329648}, "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.00013579200003732694}}, {"call": {"outcome": "passed", "duration": 0.00026212500000610817}, "setup": {"outcome": "passed", "duration": 0.0002975829999627422}, "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.00010604099998090533}}, {"call": {"outcome": "passed", "duration": 0.0009451250000438449}, "setup": {"outcome": "passed", "duration": 0.0011442499999816391}, "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.0004062919999796577}}, {"call": {"outcome": "passed", "duration": 0.00034908400004951545}, "setup": {"outcome": "passed", "duration": 0.0008894999999711217}, "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.00012233300003572367}}, {"call": {"outcome": "passed", "duration": 0.00019258300000046802}, "setup": {"outcome": "passed", "duration": 0.0002777920000198719}, "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.00010041700005558596}}, {"call": {"outcome": "passed", "duration": 0.0005610420000152772}, "setup": {"outcome": "passed", "duration": 0.00020441700002038488}, "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.00014008300001933094}}, {"call": {"outcome": "passed", "duration": 0.00022454099996593868}, "setup": {"outcome": "passed", "duration": 0.0002732080000100723}, "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": 9.933299998010625e-05}}, {"call": {"outcome": "passed", "duration": 0.0002502909999861913}, "setup": {"outcome": "passed", "duration": 0.00033895799998617804}, "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.00010858299998517396}}, {"call": {"outcome": "passed", "duration": 0.0002060420000020713}, "setup": {"outcome": "passed", "duration": 0.0002587920000109989}, "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": 9.945800002242322e-05}}, {"call": {"outcome": "passed", "duration": 0.00020308300003080149}, "setup": {"outcome": "passed", "duration": 0.0002732080000100723}, "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.00011787500000082218}}, {"call": {"outcome": "passed", "duration": 0.00019195800001625685}, "setup": {"outcome": "passed", "duration": 0.00025149999999030115}, "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.00010787500002606976}}, {"call": {"outcome": "passed", "duration": 0.00017150000002175148}, "setup": {"outcome": "passed", "duration": 0.000254833999974835}, "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.00012458399999104586}}, {"call": {"outcome": "passed", "duration": 0.00016720800005032288}, "setup": {"outcome": "passed", "duration": 0.0003476250000176151}, "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": 9.475000001657463e-05}}, {"call": {"outcome": "passed", "duration": 0.00013179199999058255}, "setup": {"outcome": "passed", "duration": 0.00024174999998649582}, "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": 9.087500001214721e-05}}, {"call": {"outcome": "passed", "duration": 0.0001512919999981932}, "setup": {"outcome": "passed", "duration": 0.00025262500003009336}, "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.00013695899997401284}}, {"call": {"outcome": "passed", "duration": 0.00014620799998965595}, "setup": {"outcome": "passed", "duration": 0.00026954199995543604}, "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": 9.733399997458037e-05}}, {"call": {"outcome": "passed", "duration": 0.00013983399998096502}, "setup": {"outcome": "passed", "duration": 0.000255250000009255}, "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.00014525000000276123}}, {"call": {"outcome": "passed", "duration": 0.0025122089999740638}, "setup": {"outcome": "passed", "duration": 0.00023249999998142812}, "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.00011629199997287287}}, {"call": {"outcome": "passed", "duration": 0.0034364159999995536}, "setup": {"outcome": "passed", "duration": 0.0002184580000061942}, "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.0004339999999842803}}, {"call": {"outcome": "failed", "duration": 0.7164367920000245, "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 \"/Users/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.tf_misfit.plot_tfr[1]>\", line 1, in <module>\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 751, in _generic_reader\n    generic = callback_func(fh.name, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tf_misfit.py:1438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00028483300002335454}, "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.00016058300002441683}}, {"call": {"outcome": "passed", "duration": 0.015047708999986753}, "setup": {"outcome": "passed", "duration": 0.0007767499999999927}, "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.00012770899996894514}}, {"call": {"outcome": "passed", "duration": 0.003672625000035623}, "setup": {"outcome": "passed", "duration": 0.00024454099997228695}, "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.0001310000000103173}}, {"call": {"outcome": "passed", "duration": 0.003144540999983292}, "setup": {"outcome": "passed", "duration": 0.0002191659999652984}, "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.00015562499999077772}}, {"call": {"outcome": "passed", "duration": 0.002551417000006495}, "setup": {"outcome": "passed", "duration": 0.0002220420000185186}, "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.00011404100001755069}}, {"call": {"outcome": "passed", "duration": 0.0017978330000119058}, "setup": {"outcome": "passed", "duration": 0.0001972919999957412}, "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.00011591700001645222}}, {"call": {"outcome": "passed", "duration": 5.285774583999967}, "setup": {"outcome": "passed", "duration": 0.00040687499995328835}, "lineno": 1, "nodeid": "taup/__init__.py::obspy.taup", "outcome": "passed", "keywords": ["obspy.taup", "filterwarnings", "__init__.py", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00013949999998885687}}, {"call": {"outcome": "passed", "duration": 1.188265333000004}, "setup": {"outcome": "passed", "duration": 0.0008905419999791775}, "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.00015912499998194107}}, {"call": {"outcome": "passed", "duration": 0.7005982089999634}, "setup": {"outcome": "passed", "duration": 0.0003046250000124928}, "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.00015024999999013744}}, {"call": {"outcome": "passed", "duration": 0.03319458300001088}, "setup": {"outcome": "passed", "duration": 0.0002455829999803427}, "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.0002033330000017486}}, {"call": {"outcome": "passed", "duration": 0.00042379100000289327}, "setup": {"outcome": "passed", "duration": 0.0005136249999964093}, "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": 9.137500001088483e-05}}, {"call": {"outcome": "passed", "duration": 1.401714458000015}, "setup": {"outcome": "passed", "duration": 0.00017454200002475773}, "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.0004969999999957508}}, {"call": {"outcome": "passed", "duration": 0.06181287500004373}, "setup": {"outcome": "passed", "duration": 0.0002898750000213113}, "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.0001271250000058899}}, {"call": {"outcome": "passed", "duration": 5.049232458000006}, "setup": {"outcome": "passed", "duration": 0.024221124999996846}, "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.00014254100000243852}}, {"call": {"outcome": "passed", "duration": 0.4775760409999634}, "setup": {"outcome": "passed", "duration": 0.0002717080000138594}, "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.0001575830000319911}}, {"call": {"outcome": "passed", "duration": 2.1792279169999915}, "setup": {"outcome": "passed", "duration": 0.0020945420000089143}, "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.0001375410000150623}}, {"call": {"outcome": "passed", "duration": 0.09471125000004577}, "setup": {"outcome": "passed", "duration": 0.0003390420000073391}, "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.00012749999996231054}}, {"call": {"outcome": "passed", "duration": 0.01037558299998409}, "setup": {"outcome": "passed", "duration": 0.00022733299999799783}, "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.000669666000021607}}, {"call": {"outcome": "passed", "duration": 0.0003197080000063579}, "setup": {"outcome": "passed", "duration": 0.0008788750000121581}, "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.00011054100002638734}}, {"call": {"outcome": "passed", "duration": 0.0003141249999885076}, "setup": {"outcome": "passed", "duration": 0.0006929580000019087}, "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": 9.554199999683988e-05}}, {"call": {"outcome": "passed", "duration": 0.10467016600000534}, "setup": {"outcome": "passed", "duration": 0.0008097909999946751}, "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.0004666670000119666}}, {"call": {"outcome": "passed", "duration": 0.033114708000027804}, "setup": {"outcome": "passed", "duration": 0.0007512909999718431}, "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.00013933400003907082}}, {"call": {"outcome": "passed", "duration": 0.025512291999973513}, "setup": {"outcome": "passed", "duration": 0.00023608300000432791}, "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.00012487499998314888}}, {"call": {"outcome": "passed", "duration": 0.02274445799997693}, "setup": {"outcome": "passed", "duration": 0.0007918750000044383}, "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.0001728750000324908}}, {"call": {"outcome": "passed", "duration": 0.09555775000001177}, "setup": {"outcome": "passed", "duration": 0.001867000000004282}, "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.00014687500004129106}}, {"call": {"outcome": "passed", "duration": 0.10840179100000569}, "setup": {"outcome": "passed", "duration": 0.00027208299997028007}, "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.00019574999998894782}}, {"call": {"outcome": "passed", "duration": 0.07800912499999413}, "setup": {"outcome": "passed", "duration": 0.000305249999996704}, "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.00039395900000727124}}, {"call": {"outcome": "passed", "duration": 0.06290033300001596}, "setup": {"outcome": "passed", "duration": 0.0008844160000194279}, "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.00013566600000558537}}, {"call": {"outcome": "passed", "duration": 0.07645470900001783}, "setup": {"outcome": "passed", "duration": 0.0006048330000112401}, "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.0001672920000146405}}, {"call": {"outcome": "passed", "duration": 0.851354624999999}, "setup": {"outcome": "passed", "duration": 0.00030562500000996806}, "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.00015883300000041345}}, {"call": {"outcome": "passed", "duration": 0.933460666999963}, "setup": {"outcome": "passed", "duration": 0.00028850000001057197}, "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.00015120900002330018}}, {"call": {"outcome": "passed", "duration": 0.03216654200002722}, "setup": {"outcome": "passed", "duration": 0.00047470900000234906}, "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.00012408300000288364}}, {"call": {"outcome": "passed", "duration": 0.03334479100004728}, "setup": {"outcome": "passed", "duration": 0.0002475419999541373}, "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.00016354199999568664}}, {"call": {"outcome": "passed", "duration": 0.03274829200000795}, "setup": {"outcome": "passed", "duration": 0.0002324170000065351}, "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.00011999999998124622}}, {"call": {"outcome": "passed", "duration": 3.1088414999999827}, "setup": {"outcome": "passed", "duration": 0.0007645420000130798}, "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.0014733749999891188}}, {"call": {"outcome": "passed", "duration": 0.5907163329999889}, "setup": {"outcome": "passed", "duration": 0.0005166669999994156}, "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.0001409169999533333}}, {"call": {"outcome": "passed", "duration": 0.09827512500004332}, "setup": {"outcome": "passed", "duration": 0.00022400000000288856}, "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.00013041699997984324}}, {"call": {"outcome": "passed", "duration": 0.05714045799999212}, "setup": {"outcome": "passed", "duration": 0.00024658299997781796}, "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.0002818749999846659}}, {"call": {"outcome": "passed", "duration": 0.06996445800001538}, "setup": {"outcome": "passed", "duration": 0.00037145799996096684}, "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.00012533299997130598}}, {"call": {"outcome": "passed", "duration": 0.050499333000004754}, "setup": {"outcome": "passed", "duration": 0.00048162500002035813}, "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.00029774999995879625}}, {"call": {"outcome": "passed", "duration": 0.05611891699999205}, "setup": {"outcome": "passed", "duration": 0.0002687919999857513}, "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.0002491669999926671}}, {"call": {"outcome": "passed", "duration": 1.429924500000027}, "setup": {"outcome": "passed", "duration": 0.0002398749999770189}, "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.00014245799997070208}}, {"call": {"outcome": "passed", "duration": 1.3020724169999767}, "setup": {"outcome": "passed", "duration": 0.0002652079999734269}, "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.00012629200000446872}}, {"call": {"outcome": "passed", "duration": 0.610584417000041}, "setup": {"outcome": "passed", "duration": 0.000238500000023123}, "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.0004932500000336404}}, {"call": {"outcome": "passed", "duration": 0.8103573330000131}, "setup": {"outcome": "passed", "duration": 0.00031758299996909045}, "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.0003616250000391119}}, {"call": {"outcome": "passed", "duration": 1.1392837079999936}, "setup": {"outcome": "passed", "duration": 0.0007401670000035665}, "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.000363624999977219}}, {"call": {"outcome": "passed", "duration": 1.4140028749999942}, "setup": {"outcome": "passed", "duration": 0.0006730829999810339}, "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.0001830420000032973}}, {"call": {"outcome": "passed", "duration": 0.5315958749999936}, "setup": {"outcome": "passed", "duration": 0.00023958400004175928}, "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.00013858300002311807}}, {"call": {"outcome": "passed", "duration": 0.7088064580000264}, "setup": {"outcome": "passed", "duration": 0.0008800830000268434}, "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.00015383400000246183}}, {"call": {"outcome": "passed", "duration": 0.21289604200001122}, "setup": {"outcome": "passed", "duration": 0.0002542920000223603}, "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.00013016699995205272}}, {"call": {"outcome": "passed", "duration": 0.9212070840000024}, "setup": {"outcome": "passed", "duration": 0.0002712499999688589}, "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.0005035410000004958}}, {"call": {"outcome": "passed", "duration": 0.07753725000003442}, "setup": {"outcome": "passed", "duration": 0.0004081249999785541}, "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.00023712500001238368}}, {"call": {"outcome": "passed", "duration": 0.06372516599998335}, "setup": {"outcome": "passed", "duration": 0.0003237920000174199}, "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.0001240000000279906}}, {"call": {"outcome": "passed", "duration": 0.3218243750000056}, "setup": {"outcome": "passed", "duration": 0.00038495799998372604}, "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.00015191699998240438}}, {"call": {"outcome": "passed", "duration": 0.029263167000010526}, "setup": {"outcome": "passed", "duration": 0.00021358300000429153}, "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.00012754200002973448}}, {"call": {"outcome": "passed", "duration": 0.024357000000009066}, "setup": {"outcome": "passed", "duration": 0.00020749999998770363}, "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.0001312090000169519}}, {"call": {"outcome": "passed", "duration": 4.60100008400002}, "setup": {"outcome": "passed", "duration": 0.0019384579999837115}, "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.0005514580000181013}}, {"call": {"outcome": "passed", "duration": 1.031954374999998}, "setup": {"outcome": "passed", "duration": 0.0008535409999694821}, "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.000140250000015385}}, {"call": {"outcome": "passed", "duration": 1.2165018750000058}, "setup": {"outcome": "passed", "duration": 0.0009232909999923322}, "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.00023229199996421812}}, {"call": {"outcome": "passed", "duration": 1.0395745420000253}, "setup": {"outcome": "passed", "duration": 0.009932375000005322}, "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.00014166699997986143}}, {"call": {"outcome": "passed", "duration": 0.05996279099997537}, "setup": {"outcome": "passed", "duration": 0.0002441670000052909}, "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.0005474170000070444}}, {"call": {"outcome": "passed", "duration": 0.00033195899999327594}, "setup": {"outcome": "passed", "duration": 0.00043700000003354944}, "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": 9.949999997616032e-05}}, {"call": {"outcome": "passed", "duration": 0.00034820799999124574}, "setup": {"outcome": "passed", "duration": 0.0001740420000260201}, "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.00017595900004607756}}, {"call": {"outcome": "passed", "duration": 0.0003379999999992833}, "setup": {"outcome": "passed", "duration": 0.000183999999990192}, "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": 8.891700002777725e-05}}, {"call": {"outcome": "passed", "duration": 0.00024337500002502566}, "setup": {"outcome": "passed", "duration": 0.00016395900001953123}, "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": 8.829099999729806e-05}}, {"call": {"outcome": "passed", "duration": 0.0006702089999635064}, "setup": {"outcome": "passed", "duration": 0.00016837499998700878}, "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.00010287499998185012}}, {"call": {"outcome": "passed", "duration": 1.3557969170000206}, "setup": {"outcome": "passed", "duration": 0.014643083000009938}, "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.000399417000039648}}, {"call": {"outcome": "passed", "duration": 1.4833335000000147}, "setup": {"outcome": "passed", "duration": 0.0003275830000006863}, "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.00033470800002532997}}, {"call": {"outcome": "passed", "duration": 1.3527935419999721}, "setup": {"outcome": "passed", "duration": 0.00036895799996727874}, "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.0003278340000179014}}, {"call": {"outcome": "passed", "duration": 0.41264791700001524}, "setup": {"outcome": "passed", "duration": 0.0005887089999987438}, "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.00018137500001103035}}, {"call": {"outcome": "passed", "duration": 0.26902212499999223}, "setup": {"outcome": "passed", "duration": 0.0003228749999948377}, "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.00017570800002886244}}, {"call": {"outcome": "passed", "duration": 0.9471009580000214}, "setup": {"outcome": "passed", "duration": 0.0003577919999884216}, "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.00019787499996937186}}, {"call": {"outcome": "passed", "duration": 0.7975785000000428}, "setup": {"outcome": "passed", "duration": 0.00032504099999641767}, "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.00030716699995991803}}, {"call": {"outcome": "passed", "duration": 0.9604252920000249}, "setup": {"outcome": "passed", "duration": 0.000452041000016834}, "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.00018920799999477822}}, {"call": {"outcome": "passed", "duration": 0.8714767920000099}, "setup": {"outcome": "passed", "duration": 0.00046295900000359325}, "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.000545666999983041}}, {"call": {"outcome": "passed", "duration": 0.5883227080000211}, "setup": {"outcome": "passed", "duration": 0.0016612090000194257}, "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.00017612499999586362}}, {"call": {"outcome": "passed", "duration": 0.6345481249999807}, "setup": {"outcome": "passed", "duration": 0.0003070419999744445}, "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.00024204199996802345}}, {"call": {"outcome": "passed", "duration": 0.6840192500000057}, "setup": {"outcome": "passed", "duration": 0.00038570799995341076}, "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.00019283399996083972}}, {"call": {"outcome": "passed", "duration": 0.45199004199997717}, "setup": {"outcome": "passed", "duration": 0.00033624999997527993}, "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.0006053339999994023}}, {"call": {"outcome": "passed", "duration": 0.08398845899995422}, "setup": {"outcome": "passed", "duration": 0.000750750000008793}, "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.00013495899997906236}}, {"call": {"outcome": "passed", "duration": 0.05657945899997685}, "setup": {"outcome": "passed", "duration": 0.00037804099997629237}, "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.0002917919999845253}}, {"call": {"outcome": "passed", "duration": 0.05005612499996914}, "setup": {"outcome": "passed", "duration": 0.0007521250000195323}, "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": 2.082306542000026}}], "ci_info": {"ci_url": "https://github.com/obspy/obspy/actions/runs/22670498712", "pr_url": "https://github.com/obspy/obspy/pull/3651", "runner_os": "macOS", "github_job": "run_tests", "github_sha": "509ef587ae1085f9e280ef2a47f6850f6b705b2f", "runner_arch": "ARM64", "github_actor": "megies", "issue_number": "3651", "github_action": "tests", "github_workflow": "tests", "github_event_name": "pull_request"}, "created": 1772629948.8088791, "summary": {"error": 13, "total": 2327, "failed": 609, "passed": 1685, "skipped": 20, "collected": 2443, "deselected": 116}, "duration": 190.69130897521973, "exitcode": 1, "warnings": [{"when": "runtest", "lineno": 395, "message": "Attempting to set identical low and high ylims makes transformation singular; automatically expanding.", "category": "UserWarning", "filename": "/Users/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py"}, {"when": "runtest", "lineno": 147, "message": "resource_tracker: process died unexpectedly, relaunching.  Some resources might leak.", "category": "UserWarning", "filename": "/Users/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/resource_tracker.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": "/Users/runner/miniconda3/envs/test/lib/python3.12/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": "Darwin", "machine": "arm64", "release": "24.6.0", "version": "Darwin Kernel Version 24.6.0: Mon Jan 19 22:02:01 PST 2026; root:xnu-11417.140.69.708.3~1/RELEASE_ARM64_VMAPPLE", "processor": "arm", "architecture": "64bit", "python_version": "3.12.12", "python_compiler": "Clang 19.1.7 ", "python_implementation": "CPython"}, "runtest_flags": "--cov obspy --cov-report=xml:/Users/runner/work/obspy/obspy/coverage.xml --cov-append --report --keep-images"}