{"log": null, "root": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy", "tests": [{"call": {"outcome": "passed", "duration": 0.00450936400000046}, "setup": {"outcome": "passed", "duration": 0.0044968699999969886}, "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.00022319500001799497}}, {"call": {"outcome": "passed", "duration": 0.00044693099999904007}, "setup": {"outcome": "passed", "duration": 0.000378793999999516}, "lineno": 60, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_expansion_of_include_and_exclude_providers", "outcome": "passed", "keywords": ["test_expansion_of_include_and_exclude_providers", "filterwarnings", "TestBaseRoutingClient", "test_base_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021060199998146345}}, {"call": {"outcome": "passed", "duration": 0.0003981309999971927}, "setup": {"outcome": "passed", "duration": 0.0003223390000073323}, "lineno": 83, "nodeid": "clients/fdsn/tests/test_base_routing_client.py::TestBaseRoutingClient::test_request_filtering", "outcome": "passed", "keywords": ["test_request_filtering", "filterwarnings", "TestBaseRoutingClient", "test_base_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001654579999978978}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008263593999998875, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_base_routing_client.py\", line 123, in test_downloading_waveforms\n    mock_instance.get_waveforms_bulk.return_value = obspy.read()\n                                                    ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031103800000664705}, "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.0002155800000025465}}, {"call": {"outcome": "passed", "duration": 0.006239403999984461}, "setup": {"outcome": "passed", "duration": 0.0005439210000020012}, "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.00018918100002451865}}, {"call": {"outcome": "passed", "duration": 0.0038174649999973553}, "setup": {"outcome": "passed", "duration": 0.0003646180000203003}, "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.0002795799999830706}}, {"call": {"outcome": "passed", "duration": 0.0037412060000008296}, "setup": {"outcome": "passed", "duration": 0.03129223599998454}, "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.00020845699998517375}}, {"call": {"outcome": "passed", "duration": 0.0005465560000175174}, "setup": {"outcome": "passed", "duration": 0.00038812200000393204}, "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.00018182899998464563}}, {"call": {"outcome": "passed", "duration": 0.00038041700000235323}, "setup": {"outcome": "passed", "duration": 0.0003451009999935195}, "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.00019473200001129953}}, {"call": {"outcome": "passed", "duration": 0.048032802999983915}, "setup": {"outcome": "passed", "duration": 0.0003237120000108007}, "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.00023243199999001263}}, {"call": {"outcome": "passed", "duration": 0.00027294699998492433}, "setup": {"outcome": "passed", "duration": 0.0003974989999733225}, "lineno": 1455, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_url_building_with_auth", "outcome": "passed", "keywords": ["test_url_building_with_auth", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017568700002357218}}, {"call": {"outcome": "passed", "duration": 0.014143805999992765}, "setup": {"outcome": "passed", "duration": 0.0003229699999849345}, "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.00022817400000008092}}, {"call": {"outcome": "passed", "duration": 0.007428113000003123}, "setup": {"outcome": "passed", "duration": 0.0004002139999954579}, "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.00021644200000991987}}, {"call": {"outcome": "passed", "duration": 0.0004202209999846218}, "setup": {"outcome": "passed", "duration": 0.000384765000006837}, "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.00017876299997965361}}, {"call": {"outcome": "passed", "duration": 0.0002912910000247848}, "setup": {"outcome": "passed", "duration": 0.0003670729999782907}, "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.00021041100001184532}}, {"call": {"outcome": "passed", "duration": 0.0012707630000079462}, "setup": {"outcome": "passed", "duration": 0.0003232610000054592}, "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.00017524600002616353}}, {"call": {"outcome": "passed", "duration": 0.015683225999993056}, "setup": {"outcome": "passed", "duration": 0.0014614669999843954}, "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.00019237700001895064}}, {"call": {"outcome": "passed", "duration": 0.0005852980000042862}, "setup": {"outcome": "passed", "duration": 0.0003688259999989896}, "lineno": 1623, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_no_data_exception", "outcome": "passed", "keywords": ["test_no_data_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016308300001810494}}, {"call": {"outcome": "passed", "duration": 0.0005220310000026984}, "setup": {"outcome": "passed", "duration": 0.00031602799998609044}, "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.00016064900000856142}}, {"call": {"outcome": "passed", "duration": 0.0004943689999947765}, "setup": {"outcome": "passed", "duration": 0.0003346919999955844}, "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.00017846200000803947}}, {"call": {"outcome": "passed", "duration": 0.000518012999975781}, "setup": {"outcome": "passed", "duration": 0.00031825199999957476}, "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.000163244000020768}}, {"call": {"outcome": "passed", "duration": 0.0006358920000195667}, "setup": {"outcome": "passed", "duration": 0.0003168290000132856}, "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.0001628919999916434}}, {"call": {"outcome": "passed", "duration": 0.0004931569999939711}, "setup": {"outcome": "passed", "duration": 0.00031060800000659583}, "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.00015924600000971623}}, {"call": {"outcome": "passed", "duration": 0.0005043280000052164}, "setup": {"outcome": "passed", "duration": 0.00033849900000859634}, "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.0001790329999948881}}, {"call": {"outcome": "passed", "duration": 0.0005132650000234662}, "setup": {"outcome": "passed", "duration": 0.0003065999999876112}, "lineno": 1691, "nodeid": "clients/fdsn/tests/test_client.py::TestClientNoNetwork::test_server_exception", "outcome": "passed", "keywords": ["test_server_exception", "__wrapped__", "patchings", "filterwarnings", "TestClientNoNetwork", "test_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016030800000521594}}, {"call": {"outcome": "passed", "duration": 0.0005142059999911908}, "setup": {"outcome": "passed", "duration": 0.00030695099999888953}, "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.00016541799999458817}}, {"call": {"outcome": "passed", "duration": 0.010127479000004769}, "setup": {"outcome": "passed", "duration": 0.00033175699999787867}, "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.00017103799999063085}}, {"call": {"outcome": "passed", "duration": 0.01159708200000864}, "setup": {"outcome": "passed", "duration": 0.0003243730000122014}, "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.00016839299999560353}}, {"call": {"outcome": "passed", "duration": 0.020645974999979444}, "setup": {"outcome": "passed", "duration": 0.0003439790000072662}, "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.0002163120000204799}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.07338759300000675, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/unittest/mock.py\", line 1396, in patched\n    return func(*newargs, **newkeywargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_client.py\", line 1792, in test_no_gzip\n    read().write(bio, 'MSEED')\n    ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003984809999906247}, "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.00028804599998011327}}, {"call": {"outcome": "passed", "duration": 0.01121113400000695}, "setup": {"outcome": "passed", "duration": 0.0004392859999882148}, "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.0003675629999975172}}, {"call": {"outcome": "passed", "duration": 0.0003309550000096806}, "setup": {"outcome": "passed", "duration": 0.0006623820000015712}, "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.0001801650000174959}}, {"call": {"outcome": "passed", "duration": 0.0002399460000219733}, "setup": {"outcome": "passed", "duration": 0.00037325400001009257}, "lineno": 164, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_response_splitting_fdsnws_subdomain", "outcome": "passed", "keywords": ["test_response_splitting_fdsnws_subdomain", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018454299998893475}}, {"call": {"outcome": "passed", "duration": 0.0042074129999889465}, "setup": {"outcome": "passed", "duration": 0.0003107280000165247}, "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.00016525800000977142}}, {"call": {"outcome": "passed", "duration": 0.000858715999981996}, "setup": {"outcome": "passed", "duration": 0.0003700980000189702}, "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.0001665190000039729}}, {"call": {"outcome": "passed", "duration": 0.0018910060000223439}, "setup": {"outcome": "passed", "duration": 0.0003403830000081598}, "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.0001699960000109968}}, {"call": {"outcome": "passed", "duration": 0.0009786589999976059}, "setup": {"outcome": "passed", "duration": 0.0003467750000254455}, "lineno": 288, "nodeid": "clients/fdsn/tests/test_eidaws_routing_client.py::TestEIDAWSRoutingClientNoNetwork::test_get_stations", "outcome": "passed", "keywords": ["test_get_stations", "filterwarnings", "TestEIDAWSRoutingClientNoNetwork", "test_eidaws_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001794940000081624}}, {"call": {"outcome": "passed", "duration": 0.0009591730000124699}, "setup": {"outcome": "passed", "duration": 0.00032007499999053834}, "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.00022396700001081626}}, {"call": {"outcome": "passed", "duration": 0.002126693999997542}, "setup": {"outcome": "passed", "duration": 0.0005804289999957746}, "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.00018289999999865358}}, {"call": {"outcome": "passed", "duration": 0.00027031199999782984}, "setup": {"outcome": "passed", "duration": 0.0003216089999966698}, "lineno": 138, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_response_splitting_fdsnws_subdomain", "outcome": "passed", "keywords": ["test_response_splitting_fdsnws_subdomain", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016357399999833433}}, {"call": {"outcome": "passed", "duration": 0.00118687700000919}, "setup": {"outcome": "passed", "duration": 0.000332438000015145}, "lineno": 158, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_waveforms", "outcome": "passed", "keywords": ["test_get_waveforms", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016497600000775492}}, {"call": {"outcome": "passed", "duration": 0.0009662570000159576}, "setup": {"outcome": "passed", "duration": 0.00032126700000389974}, "lineno": 198, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_waveforms_bulk", "outcome": "passed", "keywords": ["test_get_waveforms_bulk", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018115599999646292}}, {"call": {"outcome": "passed", "duration": 0.003223894000001337}, "setup": {"outcome": "passed", "duration": 0.0003171099999974558}, "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.00017107799999394047}}, {"call": {"outcome": "passed", "duration": 0.0010610130000259232}, "setup": {"outcome": "passed", "duration": 0.00033357999998884225}, "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.00016745199999945726}}, {"call": {"outcome": "passed", "duration": 0.001036867999999913}, "setup": {"outcome": "passed", "duration": 0.0003159769999854234}, "lineno": 296, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_stations_bulk", "outcome": "passed", "keywords": ["test_get_stations_bulk", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016256199998565535}}, {"call": {"outcome": "passed", "duration": 0.0003323679999880369}, "setup": {"outcome": "passed", "duration": 0.00031514599999127313}, "lineno": 346, "nodeid": "clients/fdsn/tests/test_federator_routing_client.py::TestFederatorRoutingClientNoNetwork::test_get_stations_error_handling", "outcome": "passed", "keywords": ["test_get_stations_error_handling", "filterwarnings", "TestFederatorRoutingClientNoNetwork", "test_federator_routing_client.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015824400000497008}}, {"call": {"outcome": "passed", "duration": 0.004371407000007821}, "setup": {"outcome": "passed", "duration": 0.000320625999989943}, "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.00022880599999552942}}, {"call": {"outcome": "passed", "duration": 0.0002685700000029101}, "setup": {"outcome": "passed", "duration": 0.00044453600000338156}, "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.0001928190000057839}}, {"call": {"outcome": "passed", "duration": 0.0002759529999991628}, "setup": {"outcome": "passed", "duration": 0.00029066999999827203}, "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.00015807399998379879}}, {"call": {"outcome": "passed", "duration": 0.00024555600001008315}, "setup": {"outcome": "passed", "duration": 0.0003018710000048941}, "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.00015277500000365762}}, {"call": {"outcome": "passed", "duration": 0.00026504299998464376}, "setup": {"outcome": "passed", "duration": 0.0002787680000153614}, "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.00015894599999910497}}, {"call": {"outcome": "passed", "duration": 0.0002503149999881771}, "setup": {"outcome": "passed", "duration": 0.000276033000005782}, "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.00015460800000255404}}, {"call": {"outcome": "passed", "duration": 0.006146326999981966}, "setup": {"outcome": "passed", "duration": 0.0002990269999827433}, "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.000165887999997949}}, {"call": {"outcome": "passed", "duration": 0.001792162000015196}, "setup": {"outcome": "passed", "duration": 0.0002930840000203716}, "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.00015957700000512887}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009810839999886412, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 283, in test_inventory_parsing\n    inv = obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009080780000090272}, "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.00017937300000880896}}, {"call": {"outcome": "passed", "duration": 0.004231648000001087}, "setup": {"outcome": "passed", "duration": 0.00029981800000200565}, "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.00016716099997893252}}, {"call": {"outcome": "passed", "duration": 0.0022522870000045714}, "setup": {"outcome": "passed", "duration": 0.0002926639999998315}, "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.0001749249999818403}}, {"call": {"outcome": "passed", "duration": 0.0014887479999856623}, "setup": {"outcome": "passed", "duration": 0.0002902399999982208}, "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.0001806860000215238}}, {"call": {"outcome": "passed", "duration": 0.0008635160000096676}, "setup": {"outcome": "passed", "duration": 0.00032204900000465386}, "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.0001789320000114003}}, {"call": {"outcome": "passed", "duration": 0.0013775609999981953}, "setup": {"outcome": "passed", "duration": 0.0003139429999805543}, "lineno": 453, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_download_stationxml", "outcome": "passed", "keywords": ["test_download_stationxml", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019752699998321077}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.02089764199999422, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 560, in test_download_and_split_mseed\n    st = obspy.read(os.path.join(tmpdir, filename))\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002955799999995179}, "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.00023897400001260394}}, {"call": {"outcome": "passed", "duration": 0.0013151349999986905}, "setup": {"outcome": "passed", "duration": 0.00036647099997821897}, "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.00020092399998361543}}, {"call": {"outcome": "passed", "duration": 0.0006318149999913203}, "setup": {"outcome": "passed", "duration": 0.0003352429999949891}, "lineno": 894, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestDownloadHelpersUtil::test_mseed_filename_helper", "outcome": "passed", "keywords": ["test_mseed_filename_helper", "filterwarnings", "TestDownloadHelpersUtil", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001785120000192819}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001120884000016531, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 960, in test_get_stationxml_contents\n    inv = obspy.read_inventory(testdata[\"AU.MEEK.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035323699998457414}, "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.0002021759999877304}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013531160000184173, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 980, in test_fast_vs_slow_get_stationxml_contents\n    _get_stationxml_contents_slow(testdata[\"AU.MEEK.xml\"])\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/mass_downloader/utils.py\", line 423, in _get_stationxml_contents_slow\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034683399999835274}, "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.00018901199999277196}}, {"call": {"outcome": "passed", "duration": 0.0003160179999781576}, "setup": {"outcome": "passed", "duration": 0.000302130999983774}, "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.00017483499999570995}}, {"call": {"outcome": "passed", "duration": 0.0003840949999869281}, "setup": {"outcome": "passed", "duration": 0.0002888269999914428}, "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.00016837299997973787}}, {"call": {"outcome": "passed", "duration": 0.0006139710000070409}, "setup": {"outcome": "passed", "duration": 0.0002876240000091457}, "lineno": 1030, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestChannel::test_temporal_bounds", "outcome": "passed", "keywords": ["test_temporal_bounds", "filterwarnings", "TestChannel", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001702159999865671}}, {"call": {"outcome": "passed", "duration": 0.0004772970000033183}, "setup": {"outcome": "passed", "duration": 0.00030756200001746947}, "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.00018835000000194668}}, {"call": {"outcome": "passed", "duration": 0.0005293440000002647}, "setup": {"outcome": "passed", "duration": 0.0002831570000125794}, "lineno": 1068, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_has_existing_or_downloaded_time_intervals", "outcome": "passed", "keywords": ["test_has_existing_or_downloaded_time_intervals", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016653899999141686}}, {"call": {"outcome": "passed", "duration": 0.0005811309999899095}, "setup": {"outcome": "passed", "duration": 0.00027818799998158283}, "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.00016737100000341343}}, {"call": {"outcome": "passed", "duration": 0.0030201449999935903}, "setup": {"outcome": "passed", "duration": 0.0002997370000059618}, "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.0001818879999859746}}, {"call": {"outcome": "passed", "duration": 0.0017020850000051269}, "setup": {"outcome": "passed", "duration": 0.0002993459999913739}, "lineno": 1190, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_temporal_bounds", "outcome": "passed", "keywords": ["test_temporal_bounds", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017626799998993192}}, {"call": {"outcome": "passed", "duration": 0.004004845999986628}, "setup": {"outcome": "passed", "duration": 0.0003081730000076277}, "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.00018284000000790002}}, {"call": {"outcome": "passed", "duration": 0.004405891000004658}, "setup": {"outcome": "passed", "duration": 0.00029848500000184686}, "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.00018145699999649878}}, {"call": {"outcome": "passed", "duration": 0.01411373099998059}, "setup": {"outcome": "passed", "duration": 0.00033131600000047}, "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.0003341910000074222}}, {"call": {"outcome": "passed", "duration": 0.0094500499999981}, "setup": {"outcome": "passed", "duration": 0.0003793559999962781}, "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.00022493899999176392}}, {"call": {"outcome": "passed", "duration": 0.00044094000000427513}, "setup": {"outcome": "passed", "duration": 0.0003397220000067591}, "lineno": 1649, "nodeid": "clients/fdsn/tests/test_mass_downloader.py::TestStation::test_str_method", "outcome": "passed", "keywords": ["test_str_method", "filterwarnings", "TestStation", "test_mass_downloader.py", "tests", "fdsn", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017954300000155854}}, {"call": {"outcome": "passed", "duration": 0.0021819260000199847}, "setup": {"outcome": "passed", "duration": 0.0007569580000108544}, "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.00020551200000795689}}, {"call": {"outcome": "passed", "duration": 0.0003507520000027853}, "setup": {"outcome": "passed", "duration": 0.0007394750000173644}, "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.0001945420000026843}}, {"call": {"outcome": "passed", "duration": 0.004897786000015003}, "setup": {"outcome": "passed", "duration": 0.000698158000005833}, "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.00020865800001956814}}, {"call": {"outcome": "passed", "duration": 0.02170212900000479}, "setup": {"outcome": "passed", "duration": 0.0007535409999945841}, "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.000261816999994835}}, {"call": {"outcome": "passed", "duration": 0.01361934400000564}, "setup": {"outcome": "passed", "duration": 0.0008831720000159748}, "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.0002504959999782841}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010106990000053884, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2184, in test_get_availability\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000871569999986832}, "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.0002215920000026017}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008807170000011411, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2193, in test_get_availability_with_multiple_channel_epochs\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008447010000054433}, "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.00023280299998873488}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015492699999981596, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2278, in test_excluding_networks_and_stations\n    obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008133919999977479}, "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.00020817700001884987}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008279799999968418, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2355, in test_excluding_networks_and_stations_with_an_inventory_object\n    full_inv = obspy.read_inventory(testdata[\"channel_level_fdsn.txt\"])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008996120000119845}, "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.0002031580000050326}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002610914000001685, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2447, in test_parse_miniseed_filenames\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007724759999803155}, "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.00020675499999356362}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009806429999912325, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/fdsn/tests/test_mass_downloader.py\", line 2491, in test_warning_when_location_prios_excludes_all_channels\n    c.client.get_stations.return_value = obspy.read_inventory(\n                                         ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008088740000005146}, "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.00022004900000638372}}, {"call": {"outcome": "passed", "duration": 0.0012238959999990584}, "setup": {"outcome": "passed", "duration": 0.00030872399997861066}, "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.00016839299999560353}}, {"call": {"outcome": "passed", "duration": 0.11296025699999745}, "setup": {"outcome": "passed", "duration": 0.0003240030000029037}, "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.00021847700000421355}}, {"call": {"outcome": "passed", "duration": 0.023933040999992272}, "setup": {"outcome": "passed", "duration": 0.00045124899997972534}, "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.00022116100001312589}}, {"call": {"outcome": "passed", "duration": 1.0725050580000186}, "setup": {"outcome": "passed", "duration": 0.00037286399998492925}, "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.0003618329999994785}}, {"call": {"outcome": "passed", "duration": 0.0010298739999825557}, "setup": {"outcome": "passed", "duration": 0.0011549780000166265}, "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.00019316899999921588}}, {"call": {"outcome": "passed", "duration": 0.001666849999992337}, "setup": {"outcome": "passed", "duration": 0.0003687249999870801}, "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.0001895820000186177}}, {"call": {"outcome": "passed", "duration": 0.0014105829999948583}, "setup": {"outcome": "passed", "duration": 0.00039030600001410676}, "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.0001756270000043969}}, {"call": {"outcome": "passed", "duration": 0.0015958960000261868}, "setup": {"outcome": "passed", "duration": 0.00035120300000812676}, "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.0001909549999936644}}, {"call": {"outcome": "passed", "duration": 0.0016816970000093079}, "setup": {"outcome": "passed", "duration": 0.00033832899998742505}, "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.00019908999999529442}}, {"call": {"outcome": "passed", "duration": 0.0006830600000000686}, "setup": {"outcome": "passed", "duration": 0.0003799159999857693}, "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.00021558100002039282}}, {"call": {"outcome": "passed", "duration": 0.0009906919999878028}, "setup": {"outcome": "passed", "duration": 0.0003728140000021085}, "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.0001717890000065836}}, {"call": {"outcome": "passed", "duration": 0.21775961000000166}, "setup": {"outcome": "passed", "duration": 0.000356882999994923}, "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.00034753599999248763}}, {"call": {"outcome": "passed", "duration": 0.0033553680000011354}, "setup": {"outcome": "passed", "duration": 0.0010235329999943588}, "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.00020131399998035704}}, {"call": {"outcome": "passed", "duration": 0.007503068999994866}, "setup": {"outcome": "passed", "duration": 0.0003806080000003931}, "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.00022762300000067626}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.20780999199999428, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tests/test_sds.py\", line 127, in test_read_from_sds\n    st = client.get_waveforms(net, sta, loc, cha, t - 200, t + 200)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/sds.py\", line 171, in get_waveforms\n    st += read(full_path, format=self.format, starttime=starttime,\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009211029999960374}, "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.0002299580000055812}}, {"call": {"outcome": "passed", "duration": 1.1311905690000117}, "setup": {"outcome": "passed", "duration": 0.0003406339999969532}, "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.00026549399998998524}}, {"call": {"outcome": "passed", "duration": 0.6215974090000032}, "setup": {"outcome": "passed", "duration": 0.0008194529999911992}, "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.00027098300000716335}}, {"call": {"outcome": "passed", "duration": 0.1889778789999923}, "setup": {"outcome": "passed", "duration": 0.0004287269999849741}, "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.00021194400000013047}}, {"call": {"outcome": "passed", "duration": 0.18371667800002456}, "setup": {"outcome": "passed", "duration": 0.00033527300001878757}, "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.0003349730000081763}}, {"call": {"outcome": "passed", "duration": 0.010182761999999457}, "setup": {"outcome": "passed", "duration": 0.0004598449999946297}, "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.00018495500000881293}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011007470000095054, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tests/test_tsindex.py\", line 61, in test_get_waveforms\n    expected_stream = read(\n                      ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.015792731999994203}, "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.00023299299999735013}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009612870000239582, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tests/test_tsindex.py\", line 115, in test_get_waveforms_bulk\n    read(\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011576929999819185}, "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.00020412900002497736}}, {"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": 527.0, "lineno": 1222, "module": "tsindex", "thread": 140463759771136, "created": 1772629555.5274746, "levelno": 30, "process": 2952, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 24889.83178138733}, {"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": 551.0, "lineno": 1222, "module": "tsindex", "thread": 140463759771136, "created": 1772629555.5516376, "levelno": 30, "process": 2952, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 24913.994789123535}], "outcome": "passed", "duration": 0.034342749999979105}, "setup": {"outcome": "passed", "duration": 0.0010667829999988498}, "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.00025216899999236375}}, {"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": 563.0, "lineno": 1222, "module": "tsindex", "thread": 140463759771136, "created": 1772629555.563279, "levelno": 30, "process": 2952, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 24925.636053085327}, {"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": 577.0, "lineno": 1222, "module": "tsindex", "thread": 140463759771136, "created": 1772629555.5773115, "levelno": 30, "process": 2952, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 24939.668655395508}], "outcome": "passed", "duration": 0.02276902299999506}, "setup": {"outcome": "passed", "duration": 0.0012627469999983987}, "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.00025769899997385437}}, {"call": {"outcome": "passed", "duration": 0.002038049000020692}, "setup": {"outcome": "passed", "duration": 0.001283436999983678}, "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.00022108100000650666}}, {"call": {"outcome": "passed", "duration": 0.018964758999999276}, "setup": {"outcome": "passed", "duration": 0.0010986130000105732}, "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.00026791800002001764}}, {"call": {"outcome": "passed", "duration": 0.000991544000015665}, "setup": {"outcome": "passed", "duration": 0.001296010000004344}, "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.00020103399998561144}}, {"call": {"outcome": "passed", "duration": 0.013733943999994835}, "setup": {"outcome": "passed", "duration": 0.0012176439999791455}, "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.00023633999998651234}}, {"call": {"outcome": "passed", "duration": 0.0022834650000049805}, "setup": {"outcome": "passed", "duration": 0.0003773110000224733}, "lineno": 560, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_bad_rootpath", "outcome": "passed", "keywords": ["test_bad_rootpath", "filterwarnings", "TestIndexer", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017779999998879248}}, {"call": {"outcome": "passed", "duration": 0.0003073910000068736}, "setup": {"outcome": "passed", "duration": 0.00035004099999014215}, "lineno": 573, "nodeid": "clients/filesystem/tests/test_tsindex.py::TestIndexer::test_bad_sqlitdb_filepath", "outcome": "passed", "keywords": ["test_bad_sqlitdb_filepath", "filterwarnings", "TestIndexer", "test_tsindex.py", "tests", "filesystem", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018952199999944241}}, {"call": {"outcome": "passed", "duration": 0.0027659220000089135}, "setup": {"outcome": "passed", "duration": 0.0003157680000072105}, "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.00018883100000266495}}, {"call": {"outcome": "passed", "duration": 0.02499666400001388}, "setup": {"outcome": "passed", "duration": 0.000313903999995091}, "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.00022193300000594718}}, {"call": {"outcome": "passed", "duration": 0.003536365000002206}, "setup": {"outcome": "passed", "duration": 0.00043513900001812544}, "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.0001991199999906712}}, {"call": {"outcome": "passed", "duration": 0.003820563000004995}, "setup": {"outcome": "passed", "duration": 0.00037880400000744885}, "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.0001853340000081971}}, {"call": {"outcome": "passed", "duration": 0.00033881999999607615}, "setup": {"outcome": "passed", "duration": 0.00033783699998934935}, "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.00017179899998609471}}, {"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": 680.0, "lineno": 1222, "module": "tsindex", "thread": 140463759771136, "created": 1772629555.6808965, "levelno": 30, "process": 2952, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 25043.253660202026}, {"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": 694.0, "lineno": 1222, "module": "tsindex", "thread": 140463759771136, "created": 1772629555.6948426, "levelno": 30, "process": 2952, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 25057.199716567993}], "outcome": "passed", "duration": 0.02422358600000507}, "setup": {"outcome": "passed", "duration": 0.00035015099999213817}, "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.0002718359999960285}}, {"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": 706.0, "lineno": 1222, "module": "tsindex", "thread": 140463759771136, "created": 1772629555.7069325, "levelno": 30, "process": 2952, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 25069.289684295654}], "outcome": "passed", "duration": 0.00556678000000943}, "setup": {"outcome": "passed", "duration": 0.0004460199999982706}, "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.00034758599997530837}}, {"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": 717.0, "lineno": 1222, "module": "tsindex", "thread": 140463759771136, "created": 1772629555.7172043, "levelno": 30, "process": 2952, "exc_info": null, "exc_text": null, "filename": "tsindex.py", "funcName": "get_tsindex_summary_cte", "pathname": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/clients/filesystem/tsindex.py", "taskName": null, "levelname": "WARNING", "stack_info": null, "threadName": "MainThread", "processName": "MainProcess", "relativeCreated": 25079.561471939087}], "outcome": "passed", "duration": 0.03044951199998991}, "setup": {"outcome": "passed", "duration": 0.00045627800000147545}, "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.0002734880000048179}}, {"call": {"outcome": "passed", "duration": 0.004459631000003128}, "setup": {"outcome": "passed", "duration": 0.001328129999990324}, "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.0002042200000005323}}, {"call": {"outcome": "passed", "duration": 0.0002809129999832294}, "setup": {"outcome": "passed", "duration": 0.02007831899999246}, "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.00022081099999127218}}, {"call": {"outcome": "passed", "duration": 0.22115853899998683}, "setup": {"outcome": "passed", "duration": 0.01907601600001385}, "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.0002605150000078993}}, {"call": {"outcome": "passed", "duration": 0.0012949480000088442}, "setup": {"outcome": "passed", "duration": 0.018194887999982257}, "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.0002221130000066296}}, {"call": {"outcome": "passed", "duration": 0.0003548700000237659}, "setup": {"outcome": "passed", "duration": 0.018646578000016234}, "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.0002151500000024953}}, {"call": {"outcome": "passed", "duration": 0.00034103400000162765}, "setup": {"outcome": "passed", "duration": 0.018488754000003382}, "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.0002051610000251003}}, {"call": {"outcome": "passed", "duration": 0.00033650599999646147}, "setup": {"outcome": "passed", "duration": 0.06015702400000578}, "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.00020908899998062225}}, {"call": {"outcome": "passed", "duration": 0.19396233599999846}, "setup": {"outcome": "passed", "duration": 0.05876254200001085}, "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.00025427299999591924}}, {"call": {"outcome": "passed", "duration": 0.0005300359999864668}, "setup": {"outcome": "passed", "duration": 0.05969246000000794}, "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.0002249990000109392}}, {"call": {"outcome": "passed", "duration": 0.0004577420000089205}, "setup": {"outcome": "passed", "duration": 0.05831188400000542}, "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.00023059900001953793}}, {"call": {"outcome": "passed", "duration": 0.0003392900000278587}, "setup": {"outcome": "passed", "duration": 0.06015494099997909}, "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.00022814400000470414}}, {"call": {"outcome": "passed", "duration": 0.07523529799999551}, "setup": {"outcome": "passed", "duration": 0.05954065800000308}, "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.0003115389999948093}}, {"call": {"outcome": "passed", "duration": 0.000567805999992288}, "setup": {"outcome": "passed", "duration": 0.05921250899999109}, "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.0002425110000103814}}, {"call": {"outcome": "passed", "duration": 0.0005076440000095772}, "setup": {"outcome": "passed", "duration": 0.05951418899999794}, "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.00024784000001432105}}, {"call": {"outcome": "passed", "duration": 0.011273579999993899}, "setup": {"outcome": "passed", "duration": 0.059716023999982326}, "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.00025125700000216966}}, {"call": {"outcome": "passed", "duration": 0.008532273000014357}, "setup": {"outcome": "passed", "duration": 0.05879064399999834}, "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.0004549559999986741}}, {"call": {"outcome": "passed", "duration": 0.0016309330000012778}, "setup": {"outcome": "passed", "duration": 0.0012387730000114061}, "lineno": 113, "nodeid": "clients/seedlink/tests/test_basic_client.py::test_get_waveform_calls_to_get_info", "outcome": "passed", "keywords": ["test_get_waveform_calls_to_get_info", "__wrapped__", "patchings", "filterwarnings", "test_basic_client.py", "tests", "seedlink", "clients", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019427099999802522}}, {"call": {"outcome": "passed", "duration": 0.000575229000020272}, "setup": {"outcome": "passed", "duration": 0.000765043000001242}, "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.00026331999998774336}}, {"call": {"outcome": "failed", "duration": 0.007082588000002943, "longrepr": "054 ^^^^^^^\n055 A :class:`~obspy.core.stream.Stream` with an example seismogram can be created\n056 by calling :func:`~obspy.core.stream.read()` without any arguments.\n057 Local files can be read by specifying the filename, files stored on http\n058 servers (e.g. at https://examples.obspy.org) can be read by specifying their\n059 URL. For details and supported formats see the documentation of\n060 :func:`~obspy.core.stream.read`.\n061 \n062 >>> from obspy import read\n063 >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/__init__.py:63: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007453360000226894}, "lineno": 11, "nodeid": "core/__init__.py::obspy.core", "outcome": "failed", "keywords": ["obspy.core", "filterwarnings", "__init__.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001943720000099347}}, {"call": {"outcome": "passed", "duration": 0.0030477459999929124}, "setup": {"outcome": "passed", "duration": 0.0004146910000031312}, "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.00017975500000488864}}, {"call": {"outcome": "passed", "duration": 0.005111303000006728}, "setup": {"outcome": "passed", "duration": 0.000753951999996616}, "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.00018465299999093077}}, {"call": {"outcome": "passed", "duration": 0.0033126289999927394}, "setup": {"outcome": "passed", "duration": 0.00036294499997779894}, "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.00021010099999330123}}, {"call": {"outcome": "passed", "duration": 0.002851732000010543}, "setup": {"outcome": "passed", "duration": 0.00033540300000822754}, "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.00017468500001882603}}, {"call": {"outcome": "passed", "duration": 0.0028546769999877597}, "setup": {"outcome": "passed", "duration": 0.0003248440000049868}, "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.00017580700000507932}}, {"call": {"outcome": "passed", "duration": 0.003032877999999073}, "setup": {"outcome": "passed", "duration": 0.00034418999999275}, "lineno": 594, "nodeid": "core/event/base.py::obspy.core.event.base.WaveformStreamID", "outcome": "passed", "keywords": ["obspy.core.event.base.WaveformStreamID", "filterwarnings", "base.py", "event", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017388300000220624}}, {"call": {"outcome": "passed", "duration": 0.003987743999999793}, "setup": {"outcome": "passed", "duration": 0.00032535500000108186}, "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.0001831510000158687}}, {"call": {"outcome": "failed", "duration": 0.0053096210000092015, "longrepr": "128 \n129         :type other: :class:`~obspy.core.event.Catalog`\n130         :param other: Catalog object for comparison.\n131         :rtype: bool\n132         :return: ``True`` if both Catalogs contain the same events.\n133 \n134         .. rubric:: Example\n135 \n136         >>> from obspy.core.event import read_events\n137         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.__eq__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:137: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004063949999988381}, "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.00020621300001266718}}, {"call": {"outcome": "failed", "duration": 0.004787550999992618, "longrepr": "259 \n260         Clears event list (convenient method).\n261 \n262         .. rubric:: Example\n263 \n264         >>> from obspy.core.event import read_events\n265         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.clear[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:265: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003341919999968468}, "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.00020237600000427847}}, {"call": {"outcome": "failed", "duration": 0.004756262999990213, "longrepr": "406 \n407         :rtype: :class:`~obspy.core.event.catalog.Catalog`\n408         :return: Copy of current catalog.\n409 \n410         .. rubric:: Examples\n411 \n412         1. Create a Catalog and copy it\n413 \n414             >>> from obspy.core.event import read_events\n415             >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.copy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:415: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032779000000005}, "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.0001859660000036456}}, {"call": {"outcome": "failed", "duration": 0.00471804199997905, "longrepr": "292         specified filter rules.\n293 \n294         :rtype: :class:`Catalog`\n295         :return: Filtered catalog. A new Catalog object with filtered\n296             Events as references to the original Events.\n297 \n298         .. rubric:: Example\n299 \n300         >>> from obspy.core.event import read_events\n301         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.filter[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:301: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003516040000022258}, "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.00018401199997697404}}, {"call": {"outcome": "failed", "duration": 0.004703454999997803, "longrepr": "616         :param title: Title above plot. If left ``None``, an automatic title\n617             will be generated. Set to ``\"\"`` for no title.\n618         :returns: Figure instance with the plot.\n619 \n620         .. rubric:: Examples\n621 \n622         Mollweide projection for global overview:\n623 \n624         >>> from obspy import read_events\n625         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:625: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00036304600001813014}, "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.00018991299998560862}}, {"call": {"outcome": "failed", "duration": 0.005079163000004883, "longrepr": "463         :type format: str\n464         :param format: The file format to use (e.g. ``\"QUAKEML\"``). See the\n465             `Supported Formats`_ section below for a list of supported formats.\n466         :param kwargs: Additional keyword arguments passed to the underlying\n467             plugin's writer method.\n468 \n469         .. rubric:: Example\n470 \n471         >>> from obspy import read_events\n472         >>> catalog = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.catalog.Catalog.write[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py:472: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003407629999969686}, "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.00021959900001888855}}, {"call": {"outcome": "failed", "duration": 0.005921409000023914, "longrepr": "205         :returns: Figure instance with the plot.\n206 \n207         .. rubric:: Examples\n208 \n209         Default plot includes an orthographic map plot, a beachball plot and\n210         plots of P/S farfield radiation patterns (preferred -- or first --\n211         focal mechanism has to have a moment tensor set).\n212 \n213         >>> from obspy import read_events\n214         >>> event = read_events(\"/path/to/CMTSOLUTION\")[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.event.event.Event.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/event.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00041671500000006745}, "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.00020956899999191592}}, {"call": {"outcome": "passed", "duration": 0.0027288830000031794}, "setup": {"outcome": "passed", "duration": 0.00035851700002353937}, "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.00018097700001362682}}, {"call": {"outcome": "passed", "duration": 0.0036654250000083266}, "setup": {"outcome": "passed", "duration": 0.0004158130000178062}, "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.00018053599998779646}}, {"call": {"outcome": "passed", "duration": 0.0052660110000033455}, "setup": {"outcome": "passed", "duration": 0.00039673699998843404}, "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.00018074600001227736}}, {"call": {"outcome": "passed", "duration": 0.0027799890000039795}, "setup": {"outcome": "passed", "duration": 0.00035738399998308523}, "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.00018436299998825234}}, {"call": {"outcome": "passed", "duration": 0.002677197000025444}, "setup": {"outcome": "passed", "duration": 0.00034933900002442897}, "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.0001750250000043252}}, {"call": {"outcome": "failed", "duration": 0.0048287580000021535, "longrepr": "018     (https://www.gnu.org/copyleft/lesser.html)\n019 \n020 Reading\n021 -------\n022 StationXML files can be read using the\n023 :func:`~obspy.core.inventory.inventory.read_inventory()` function that\n024 returns an :class:`~obspy.core.inventory.inventory.Inventory` object.\n025 \n026 >>> from obspy import read_inventory\n027 >>> inv = read_inventory(\"/path/to/BW_RJOB.xml\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/__init__.py:27: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007686589999877924}, "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.0001924369999812825}}, {"call": {"outcome": "passed", "duration": 0.06675290799998379}, "setup": {"outcome": "passed", "duration": 0.0004165949999901386}, "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.00025459300002239615}}, {"call": {"outcome": "passed", "duration": 0.25861671699999533}, "setup": {"outcome": "passed", "duration": 0.00048557300002016746}, "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.0002487019999932727}}, {"call": {"outcome": "passed", "duration": 0.11837276100001759}, "setup": {"outcome": "passed", "duration": 0.00039237900000443915}, "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.00024432399999341214}}, {"call": {"outcome": "failed", "duration": 0.005085768000014923, "longrepr": "244 \n245         Returns a dictionary containing the contents of the object.\n246 \n247         .. rubric:: Example\n248 \n249         >>> example_filename = \"/path/to/IRIS_single_channel_with_response.xml\"\n250         >>> inventory = read_inventory(example_filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.get_contents[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py:250: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003893340000047374}, "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.00018870099998480327}}, {"call": {"outcome": "passed", "duration": 0.06309939799999142}, "setup": {"outcome": "passed", "duration": 0.00033569400000033056}, "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.0002526099999897724}}, {"call": {"outcome": "passed", "duration": 0.060609528000014734}, "setup": {"outcome": "passed", "duration": 0.0004420219999872188}, "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.00020412899999655565}}, {"call": {"outcome": "failed", "duration": 0.004989907999998877, "longrepr": "416 \n417         Find response for a given channel at given time.\n418 \n419         >>> from obspy import read_inventory, UTCDateTime\n420         >>> inventory = read_inventory(\"/path/to/IU_ANMO_BH.xml\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.get_response[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py:420: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003955250000160504}, "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.00019227699999646575}}, {"call": {"outcome": "failed", "duration": 0.12251880499999857, "longrepr": "944             inv = read_inventory()\n945             inv.plot(projection=\"local\",\n946                      color_per_network={'GR': 'blue',\n947                                         'BW': 'green'})\n948 \n949         Combining a station and event plot:\n950 \n951         >>> from obspy import read_inventory, read_events\n952         >>> inv = read_inventory()\n953         >>> cat = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.inventory.Inventory.plot[8]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py:953: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003427370000110841}, "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.00025712799998700575}}, {"call": {"outcome": "passed", "duration": 0.06297096000000124}, "setup": {"outcome": "passed", "duration": 0.00041531299999064686}, "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.00024548700000082135}}, {"call": {"outcome": "passed", "duration": 0.06685032400000068}, "setup": {"outcome": "passed", "duration": 0.00043616100001031555}, "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.0002660139999761668}}, {"call": {"outcome": "passed", "duration": 0.06442232800000625}, "setup": {"outcome": "passed", "duration": 0.0004059350000034101}, "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.000268428999987691}}, {"call": {"outcome": "passed", "duration": 0.06230937000000836}, "setup": {"outcome": "passed", "duration": 0.00043446800000879193}, "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.00026071499999602565}}, {"call": {"outcome": "failed", "duration": 0.0051254500000084136, "longrepr": "182 \n183         Returns a dictionary containing the contents of the object.\n184 \n185         .. rubric:: Example\n186 \n187         >>> from obspy import read_inventory\n188         >>> example_filename = \"/path/to/IRIS_single_channel_with_response.xml\"\n189         >>> inventory = read_inventory(example_filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.network.Network.get_contents[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/network.py:189: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005087060000050769}, "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.00021212499999023748}}, {"call": {"outcome": "passed", "duration": 0.06279375099998674}, "setup": {"outcome": "passed", "duration": 0.00035134299997707785}, "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.00025924199999849407}}, {"call": {"outcome": "passed", "duration": 0.06306909299999575}, "setup": {"outcome": "passed", "duration": 0.00046182899998825633}, "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.0002807420000010552}}, {"call": {"outcome": "passed", "duration": 0.0639496299999962}, "setup": {"outcome": "passed", "duration": 0.0004629809999983081}, "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.000236890999985917}}, {"call": {"outcome": "failed", "duration": 0.006370755999995481, "longrepr": "361         https://docs.fdsn.org/projects/stationxml/en/latest/response.html#poles-and-zeros\n362 \n363         :returns: The calculated normalization factor (returns None if the\n364             response stage normalization frequency is None)\n365         :rtype: float or None\n366 \n367         .. rubric:: Example\n368 \n369         >>> from obspy import read\n370         >>> paz_stage = read()[0].stats.response.response_stages[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.response.PolesZerosResponseStage.calculate_normalization_factor[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/response.py:370: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000490721999995003}, "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.00019995200000266777}}, {"call": {"outcome": "passed", "duration": 0.0027748299999927895}, "setup": {"outcome": "passed", "duration": 0.0003642270000057124}, "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.00017434400001548056}}, {"call": {"outcome": "passed", "duration": 0.061890341000008675}, "setup": {"outcome": "passed", "duration": 0.0003448920000153066}, "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.0002555250000000342}}, {"call": {"outcome": "failed", "duration": 0.005279096000009531, "longrepr": "197 \n198         Returns a dictionary containing the contents of the object.\n199 \n200         .. rubric:: Example\n201 \n202         >>> from obspy import read_inventory\n203         >>> example_filename = \"/path/to/IRIS_single_channel_with_response.xml\"\n204         >>> inventory = read_inventory(example_filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.inventory.station.Station.get_contents[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/station.py:204: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005240239999864116}, "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.00022245300002055046}}, {"call": {"outcome": "passed", "duration": 0.06278037500001687}, "setup": {"outcome": "passed", "duration": 0.00035299600000371356}, "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.0002423710000130086}}, {"call": {"outcome": "passed", "duration": 0.06265941999998859}, "setup": {"outcome": "passed", "duration": 0.0004344179999975495}, "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.00026000300002237964}}, {"call": {"outcome": "passed", "duration": 0.07055629499998872}, "setup": {"outcome": "passed", "duration": 0.000522973000016691}, "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.00026524300000119183}}, {"call": {"outcome": "passed", "duration": 0.003618609000000106}, "setup": {"outcome": "passed", "duration": 0.0005013919999896643}, "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.00022156200000722492}}, {"call": {"outcome": "passed", "duration": 0.0034008239999820944}, "setup": {"outcome": "passed", "duration": 0.00036161200000606186}, "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.00018971300002590397}}, {"call": {"outcome": "failed", "duration": 0.006336391999980151, "longrepr": "566         :rtype: bool\n567         :return: ``True`` if both Streams contain the same traces, i.e. after a\n568             sort operation going through both streams every trace should be\n569             equal according to Trace's\n570             :meth:`~obspy.core.trace.Trace.__eq__` operator.\n571 \n572         .. rubric:: Example\n573 \n574         >>> from obspy import read\n575         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__eq__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:575: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003394610000100329}, "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.0001886409999940497}}, {"call": {"outcome": "passed", "duration": 0.0031252009999889196}, "setup": {"outcome": "passed", "duration": 0.0003377380000131325}, "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.0001934899999866957}}, {"call": {"outcome": "passed", "duration": 0.004951687000016136}, "setup": {"outcome": "passed", "duration": 0.00035556099999212165}, "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.00017779000000928136}}, {"call": {"outcome": "passed", "duration": 0.002855128999982526}, "setup": {"outcome": "passed", "duration": 0.0003456530000107705}, "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.00017433400000754773}}, {"call": {"outcome": "failed", "duration": 0.005897064999999202, "longrepr": "429         Create a new Stream containing num copies of this stream.\n430 \n431         :rtype num: int\n432         :param num: Number of copies.\n433         :returns: New ObsPy Stream object.\n434 \n435         .. rubric:: Example\n436 \n437         >>> from obspy import read\n438         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__mul__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034431000000267886}, "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.00018590600001289204}}, {"call": {"outcome": "failed", "duration": 0.005850428999991664, "longrepr": "601 \n602         Implements rich comparison of Stream objects for \"!=\" operator.\n603 \n604         .. rubric:: Example\n605 \n606         >>> from obspy import read\n607         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.__ne__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:607: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005189949999930832}, "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.00021536099998797908}}, {"call": {"outcome": "passed", "duration": 0.0030189340000106313}, "setup": {"outcome": "passed", "duration": 0.0003410140000141837}, "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.00017912300000944015}}, {"call": {"outcome": "passed", "duration": 0.004860326999988729}, "setup": {"outcome": "passed", "duration": 0.0003404530000068462}, "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.00018379200000140372}}, {"call": {"outcome": "failed", "duration": 0.0048177179999981945, "longrepr": "3567 \n3568         Rotate three explicitly specified channels to ZNE.\n3569 \n3570         >>> from obspy import read, read_inventory\n3571         >>> st = read(\"/path/to/ffbx_unrotated_gaps.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream._rotate_specific_channels_to_zne[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3571: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000349148999987392}, "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.0001899030000060975}}, {"call": {"outcome": "failed", "duration": 0.004613067999997611, "longrepr": "3509 \n3510         Rotate all matching traces to ZNE, specifying sets of component codes.\n3511 \n3512         >>> from obspy import read, read_inventory\n3513         >>> st = read(\"/path/to/ffbx_unrotated_gaps.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream._rotate_to_zne[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3513: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00035493000001451946}, "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.00018721799997933886}}, {"call": {"outcome": "failed", "duration": 0.006142201000017167, "longrepr": "674 \n675         Append a single Trace object to the current Stream object.\n676 \n677         :param trace: :class:`~obspy.core.trace.Trace` object.\n678 \n679         .. rubric:: Example\n680 \n681         >>> from obspy import read, Trace\n682         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.append[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:682: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003298330000234273}, "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.00020306799999048053}}, {"call": {"outcome": "failed", "duration": 0.0058037920000231225, "longrepr": "2957 \n2958         Replaces Stream's trace list by an empty one creating an empty\n2959         Stream object. Useful if there are references to the current\n2960         Stream object that should not break. Otherwise simply use a new\n2961         Stream() instance.\n2962 \n2963         .. rubric:: Example\n2964 \n2965         >>> from obspy import read\n2966         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.clear[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2966: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000336937000014359}, "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.00018942200000537923}}, {"call": {"outcome": "failed", "duration": 0.005701141000002963, "longrepr": "2920 \n2921         :rtype: :class:`~obspy.core.stream.Stream`\n2922         :return: Copy of current stream.\n2923 \n2924         .. rubric:: Examples\n2925 \n2926         1. Create a Stream and copy it\n2927 \n2928             >>> from obspy import read\n2929             >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.copy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2929: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033002399999304544}, "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.00018606599999770879}}, {"call": {"outcome": "failed", "duration": 0.0059280730000068615, "longrepr": "1584         Cut the given time range out of all traces of this Stream object.\n1585 \n1586         :type starttime: :class:`~obspy.core.utcdatetime.UTCDateTime`\n1587         :param starttime: Start of time span to remove from stream.\n1588         :type endtime: :class:`~obspy.core.utcdatetime.UTCDateTime`\n1589         :param endtime: End of time span to remove from stream.\n1590 \n1591         .. rubric:: Example\n1592 \n1593         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.cutout[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1593: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003294929999810847}, "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.000185926000000336}}, {"call": {"outcome": "passed", "duration": 0.0034459070000139036}, "setup": {"outcome": "passed", "duration": 0.0003324280000072122}, "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.00017768099999670994}}, {"call": {"outcome": "failed", "duration": 0.005706380999981775, "longrepr": "702 \n703         Extend the current Stream object with a list of Trace objects.\n704 \n705         :param trace_list: list of :class:`~obspy.core.trace.Trace` objects or\n706             :class:`~obspy.core.stream.Stream`.\n707 \n708         .. rubric:: Example\n709 \n710         >>> from obspy import read, Trace\n711         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.extend[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:711: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003211570000019037}, "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.00018548500000292734}}, {"call": {"outcome": "failed", "duration": 0.005615290999998024, "longrepr": "2240             FIR-Lowpass (uses :func:`obspy.signal.filter.lowpass_fir`).\n2241 \n2242         ``'remez_fir'`` (experimental)\n2243             Minimax optimal bandpass using Remez algorithm (uses\n2244             :func:`obspy.signal.filter.remez_fir`).\n2245 \n2246         .. rubric:: Example\n2247 \n2248         >>> from obspy import read\n2249         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.filter[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2249: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003283510000073875}, "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.00018203900000912654}}, {"call": {"outcome": "failed", "duration": 0.005890542999992476, "longrepr": "755         Traces and the start and end times of segments within Traces that\n756         contain masked arrays (i.e., Traces that were merged without a fill\n757         value).\n758 \n759         .. rubric:: Example\n760 \n761         Our example stream has no gaps:\n762 \n763         >>> from obspy import read, UTCDateTime\n764         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.get_gaps[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:764: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000326596999997264}, "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.0002010540000014771}}, {"call": {"outcome": "failed", "duration": 0.005532117000001335, "longrepr": "2603 \n2604         .. note::\n2605 \n2606             This operation is performed in place on the actual data arrays. The\n2607             raw data will no longer be accessible afterwards. To keep your\n2608             original data, use :meth:`~obspy.core.stream.Stream.copy` to create\n2609             a copy of your stream object.\n2610 \n2611         >>> from obspy import read\n2612         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.interpolate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2612: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003196440000010625}, "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.00018222900001774178}}, {"call": {"outcome": "passed", "duration": 0.002974650999988171}, "setup": {"outcome": "passed", "duration": 0.00031887299999766583}, "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.00018828000000326028}}, {"call": {"outcome": "passed", "duration": 0.00492508800002156}, "setup": {"outcome": "passed", "duration": 0.0003153759999747763}, "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.00017629800001373042}}, {"call": {"outcome": "failed", "duration": 0.005562994000001709, "longrepr": "1148         * pass an string of a R, G, B tuple, where each of the components is a\n1149           float value in the range of 0 to 1, e.g. ``'(1, 0.25, 0.5)'``, or\n1150         * use single letters for the basic built-in colors, such as ``'b'``\n1151           (blue), ``'g'`` (green), ``'r'`` (red), ``'c'`` (cyan), ``'m'``\n1152           (magenta), ``'y'`` (yellow), ``'k'`` (black), ``'w'`` (white).\n1153 \n1154         .. rubric:: Example\n1155 \n1156         >>> from obspy import read\n1157         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1157: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003174200000159999}, "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.00018532500001811059}}, {"call": {"outcome": "failed", "duration": 0.005530864000007796, "longrepr": "1200         If no index is given, remove the last Trace. Passes on the pop() to\n1201         self.traces.\n1202 \n1203         :param index: Index of the Trace object to be returned and removed.\n1204         :returns: Removed Trace.\n1205 \n1206         .. rubric:: Example\n1207 \n1208         >>> from obspy import read\n1209         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.pop[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1209: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005774039999835168}, "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.0001810070000090036}}, {"call": {"outcome": "failed", "duration": 0.005537127000025066, "longrepr": "1230             value is assumed to be in seconds. Defaults to None.\n1231         :param max_gap: All gaps larger than this value will be omitted. The\n1232             value is assumed to be in seconds. Defaults to None.\n1233 \n1234         .. rubric:: Example\n1235 \n1236         Our example stream has no gaps:\n1237 \n1238         >>> from obspy import read, UTCDateTime\n1239         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.print_gaps[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1239: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031878299998311377}, "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.00019926999999597683}}, {"call": {"outcome": "failed", "duration": 0.005722100000014052, "longrepr": "1301         Stream object. Passes on the remove() call to self.traces.\n1302 \n1303         :param trace: Trace object to be removed from Stream.\n1304 \n1305         .. rubric:: Example\n1306 \n1307         This example shows how to delete all \"E\" component traces in a stream:\n1308 \n1309         >>> from obspy import read\n1310         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1310: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003373179999925924}, "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.00019971099999338549}}, {"call": {"outcome": "failed", "duration": 0.0057520249999925, "longrepr": "3233 \n3234         Deconvolve instrument response for all Traces in Stream.\n3235 \n3236         For details see the corresponding\n3237         :meth:`~obspy.core.trace.Trace.remove_response` method of\n3238         :class:`~obspy.core.trace.Trace`.\n3239 \n3240         >>> from obspy import read, read_inventory\n3241         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove_response[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3241: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00036554999999793836}, "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.00019126499998378677}}, {"call": {"outcome": "failed", "duration": 0.0056936980000159565, "longrepr": "3267 \n3268         Remove instrument sensitivity for all Traces in Stream.\n3269 \n3270         For details see the corresponding\n3271         :meth:`~obspy.core.trace.Trace.remove_sensitivity` method of\n3272         :class:`~obspy.core.trace.Trace`.\n3273 \n3274         >>> from obspy import read, read_inventory\n3275         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.remove_sensitivity[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3275: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003385600000171962}, "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.0001909549999936644}}, {"call": {"outcome": "failed", "duration": 0.005896022999991146, "longrepr": "2378             a copy of your stream object.\n2379             This also makes an entry with information on the applied processing\n2380             in ``stats.processing`` of every trace.\n2381 \n2382         Uses :func:`scipy.signal.resample`. Because a Fourier method is used,\n2383         the signal is assumed to be periodic.\n2384 \n2385         .. rubric:: Example\n2386 \n2387         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.resample[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2387: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003497099999947295}, "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.0001933800000131214}}, {"call": {"outcome": "failed", "duration": 0.005738669999999502, "longrepr": "1328 \n1329         Reverse the Traces of the Stream object in place.\n1330 \n1331         .. rubric:: Example\n1332 \n1333         >>> from obspy import read\n1334         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.reverse[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1334: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003313360000163357}, "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.00021020100001578612}}, {"call": {"outcome": "failed", "duration": 0.004619238999993058, "longrepr": "2765         :type inventory: :class:`~obspy.core.inventory.inventory.Inventory` or\n2766             :class:`~obspy.io.xseed.parser.Parser`\n2767         :param inventory: Inventory or SEED Parser with metadata of channels.\n2768 \n2769         Example to rotate unaligned borehole instrument data based on station\n2770         inventory (a dataless SEED :class:`~obspy.io.xseed.parser.Parser` can\n2771         also be provided, see details for option ``inventory``):\n2772 \n2773         >>> from obspy import read, read_inventory\n2774         >>> st = read(\"/path/to/ffbx_unrotated_gaps.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.rotate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2774: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003365150000149697}, "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.00020016199999872697}}, {"call": {"outcome": "failed", "duration": 0.00566788800000495, "longrepr": "1787 \n1788         Alternatively, traces can be selected based on the content of an\n1789         :class:`~obspy.core.inventory.inventory.Inventory` object: trace will\n1790         be selected if the inventory contains a matching channel active at the\n1791         trace start time.\n1792 \n1793         .. rubric:: Examples\n1794 \n1795         >>> from obspy import read\n1796         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.select[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1796: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034058400001413247}, "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.00020645399999352776}}, {"call": {"outcome": "failed", "duration": 0.00577184200000147, "longrepr": "2152             original data, use :meth:`~obspy.core.stream.Stream.copy` to create\n2153             a copy of your stream object.\n2154             This also makes an entry with information on the applied processing\n2155             in ``stats.processing`` of every trace.\n2156 \n2157         .. rubric:: Example\n2158 \n2159         >>> from obspy import read\n2160         >>> from obspy.signal.invsim import corn_freq_2_paz\n2161         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.simulate[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2161: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0006472830000063823}, "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.00020512099999336897}}, {"call": {"outcome": "failed", "duration": 0.0056241579999891655, "longrepr": "1646         .. note::\n1647 \n1648             The basic idea of :meth:`~obspy.core.stream.Stream.slice`\n1649             is to avoid copying the sample data in memory. So sample data in\n1650             the resulting :class:`~obspy.core.stream.Stream` object contains\n1651             only a reference to the original traces.\n1652 \n1653         .. rubric:: Example\n1654 \n1655         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.slice[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1655: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003585659999885138}, "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.00021057099999666207}}, {"call": {"outcome": "failed", "duration": 0.00585300299999858, "longrepr": "1709         have overlapping windows, all following windows are affected as well.\n1710 \n1711         Not all yielded windows must have the same number of traces. The\n1712         algorithm will determine the maximal temporal extents by analysing\n1713         all Traces and then creates windows based on these times.\n1714 \n1715         .. rubric:: Example\n1716 \n1717         >>> import obspy\n1718         >>> st = obspy.read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.slide[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1718: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004447569999967982}, "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.00018440200000213736}}, {"call": {"outcome": "failed", "duration": 0.005628114999979061, "longrepr": "1365              'dataquality'\n1366              Defaults to ['network', 'station', 'location', 'channel',\n1367              'starttime', 'endtime'].\n1368         :type reverse: bool\n1369         :param reverse: Reverts sorting order to descending.\n1370 \n1371         .. rubric:: Example\n1372 \n1373         >>> from obspy import read\n1374         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.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 \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1374: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003251239999997324}, "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.00018743799998333088}}, {"call": {"outcome": "failed", "duration": 0.0057767510000132916, "longrepr": "1171 \n1172         Create a spectrogram plot for each trace in the stream.\n1173 \n1174         For details on kwargs that can be used to customize the spectrogram\n1175         plot see :func:`obspy.imaging.spectrogram.spectrogram`.\n1176 \n1177         .. rubric:: Example\n1178 \n1179         >>> from obspy import read\n1180         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.spectrogram[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1180: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003308450000076846}, "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.00020742600000289713}}, {"call": {"outcome": "failed", "duration": 0.0059201880000046, "longrepr": "3321         :type npts_tol: int\n3322         :param npts_tol: Tolerate traces with different number of points\n3323             with a difference up to this value. Surplus samples are discarded.\n3324         :type time_tol: float\n3325         :param time_tol: Tolerate difference, in seconds, in startime when\n3326             setting the new starttime of the stack. If starttimes differs more\n3327             than this value it will be set to timestamp 0.\n3328 \n3329         >>> from obspy import read\n3330         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.stack[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:3330: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033446200001208126}, "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.00019198699999378732}}, {"call": {"outcome": "passed", "duration": 0.00314068999998085}, "setup": {"outcome": "passed", "duration": 0.00035767499997518826}, "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.00018014500000163025}}, {"call": {"outcome": "failed", "duration": 0.005806186000000935, "longrepr": "2315             Computes the modified energy ratio characteristic function (uses\n2316             :func:`obspy.signal.trigger.modified_energy_ratio`).\n2317 \n2318         ``'zdetect'``\n2319             Z-detector (uses :func:`obspy.signal.trigger.z_detect`).\n2320 \n2321         .. rubric:: Example\n2322 \n2323         >>> from obspy import read\n2324         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.trigger[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:2324: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032679800000323667}, "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.00020571199999608325}}, {"call": {"outcome": "failed", "duration": 0.005731488000009222, "longrepr": "1507         .. note::\n1508 \n1509             This operation is performed in place on the actual data arrays. The\n1510             raw data will no longer be accessible afterwards. To keep your\n1511             original data, use :meth:`~obspy.core.stream.Stream.copy` to create\n1512             a copy of your stream object.\n1513 \n1514         .. rubric:: Example\n1515 \n1516         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.Stream.trim[0]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:1516: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033305000002314955}, "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.00021215399999618967}}, {"call": {"outcome": "passed", "duration": 0.0033247519999974884}, "setup": {"outcome": "passed", "duration": 0.0003355330000260892}, "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.000179954999993015}}, {"call": {"outcome": "passed", "duration": 0.0027002810000169575}, "setup": {"outcome": "passed", "duration": 0.00032741900000132773}, "lineno": 1400, "nodeid": "core/stream.py::obspy.core.stream.Stream.write", "outcome": "passed", "keywords": ["obspy.core.stream.Stream.write", "filterwarnings", "stream.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017381300000351985}}, {"call": {"outcome": "skipped", "duration": 0.00031726000000276144, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00032060599997407735}, "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.00018900099999541453}}, {"call": {"outcome": "failed", "duration": 0.006058634999988044, "longrepr": "094     .. rubric:: Basic Usage\n095 \n096     In most cases a filename is specified as the only argument to\n097     :func:`~obspy.core.stream.read`. For a quick start you may omit all\n098     arguments and ObsPy will create and return a basic example seismogram.\n099     Further usages of the :func:`~obspy.core.stream.read` function can\n100     be seen in the `Further Examples`_ section underneath.\n101 \n102     >>> from obspy import read\n103     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.stream.read[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py:103: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003484080000077938}, "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.00019170699999904173}}, {"call": {"outcome": "passed", "duration": 0.8657790950000219}, "setup": {"outcome": "passed", "duration": 0.001174663999989889}, "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.0003242829999976493}}, {"call": {"outcome": "passed", "duration": 0.0006322659999966618}, "setup": {"outcome": "passed", "duration": 0.00042244499999810614}, "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.0002471489999891219}}, {"call": {"outcome": "passed", "duration": 0.0002550049999854309}, "setup": {"outcome": "passed", "duration": 0.0004098419999820635}, "lineno": 3, "nodeid": "core/tests/test_compatibility.py::TestCompatibility::test_round", "outcome": "passed", "keywords": ["test_round", "filterwarnings", "TestCompatibility", "test_compatibility.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017414399999893249}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00137250200000949, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 36, in test_str\n    event = read_events()[1]\n            ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038657799998986775}, "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.0001900130000080935}}, {"call": {"outcome": "passed", "duration": 0.0009719680000159769}, "setup": {"outcome": "passed", "duration": 0.00032798000000866523}, "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.00017307099997765363}}, {"call": {"outcome": "passed", "duration": 0.001151531999994404}, "setup": {"outcome": "passed", "duration": 0.0003407040000240613}, "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.00018834999997352497}}, {"call": {"outcome": "passed", "duration": 0.0013314560000026177}, "setup": {"outcome": "passed", "duration": 0.00032011499999384796}, "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.00017197900001519884}}, {"call": {"outcome": "passed", "duration": 5.847465396999979}, "setup": {"outcome": "passed", "duration": 0.0005021740000188402}, "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.00030745200001547346}}, {"call": {"outcome": "passed", "duration": 0.0006910550000043258}, "setup": {"outcome": "passed", "duration": 0.00040159600001743456}, "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.00019107500000359323}}, {"call": {"outcome": "passed", "duration": 0.0013912670000024718}, "setup": {"outcome": "passed", "duration": 0.00033691600000906874}, "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.00018280899999467692}}, {"call": {"outcome": "passed", "duration": 0.0008314149999932852}, "setup": {"outcome": "passed", "duration": 0.00032779000000005}, "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.00017655799999261035}}, {"call": {"outcome": "passed", "duration": 0.01261204099998281}, "setup": {"outcome": "passed", "duration": 0.0003077830000108861}, "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.00018400300001530923}}, {"call": {"outcome": "passed", "duration": 0.0003902159999995547}, "setup": {"outcome": "passed", "duration": 0.00032623600000647457}, "lineno": 219, "nodeid": "core/tests/test_event.py::TestCatalog::test_creation_info", "outcome": "passed", "keywords": ["test_creation_info", "filterwarnings", "TestCatalog", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019156599998382262}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013341199999956643, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 230, in test_read_events_without_parameters\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002946680000093238}, "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.00021992899999645488}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001192346999999927, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 237, in test_str\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003060690000040722}, "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.00018952299998886701}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007437229999993633, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 247, in test_read_events\n    catalog = read_events(testdata['iris_events.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008899949999943146}, "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.00019235700000308498}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007493590000251515, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 263, in test_read_events_with_wildcard\n    expected = read_events(testdata['iris_events.xml'])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003614100000106646}, "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.00018572400000493872}}, {"call": {"outcome": "passed", "duration": 0.0008431720000032783}, "setup": {"outcome": "passed", "duration": 0.00031864099997847006}, "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.00017258000002584595}}, {"call": {"outcome": "passed", "duration": 0.001224358999991182}, "setup": {"outcome": "passed", "duration": 0.0003071799999929681}, "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.00019259699999452096}}, {"call": {"outcome": "passed", "duration": 0.0012996989999862762}, "setup": {"outcome": "passed", "duration": 0.00028618100000699087}, "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.00017454299998576062}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001278138000003537, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 357, in test_count_and_len\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030530500001191285}, "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.0001800940000009632}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001329824000009694, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 365, in test_get_item\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029803299997865906}, "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.0002001409999934367}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011583060000077694, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 379, in test_slicing\n    catalog = read_events()\n              ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003082719999838446}, "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.00018945200000075602}}, {"call": {"outcome": "passed", "duration": 0.0016520110000044497}, "setup": {"outcome": "passed", "duration": 0.00029676999997718667}, "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.00017339199999355515}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011310269999853517, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 408, in test_copy\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003160949999880813}, "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.00019839700001966776}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011192649999998139, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 430, in test_filter\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000297101000001021}, "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.000178581000000122}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007243820000155665, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 460, in test_catalog_resource_id\n    cat = read_events(testdata['neries_events.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033593300000234194}, "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.00019153499999902124}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001111149000024625, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 468, in test_can_pickle\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002936040000065532}, "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.0001867770000103519}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002029831000015747, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 486, in test_issue_2173\n    event2 = read_events(bio)[0]\n             ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033572199998843644}, "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.00017564500001299166}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007448300000021391, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 494, in test_read_path\n    assert read_events(str(testdata['iris_events.xml'])) == \\\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005103359999907298}, "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.00019116400000029898}}, {"call": {"outcome": "passed", "duration": 0.0003771389999940311}, "setup": {"outcome": "passed", "duration": 0.00029897400000322705}, "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.00017015500000638895}}, {"call": {"outcome": "passed", "duration": 0.0003342190000239498}, "setup": {"outcome": "passed", "duration": 0.00030347199998459473}, "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.0001708759999985432}}, {"call": {"outcome": "passed", "duration": 0.00026295700001810474}, "setup": {"outcome": "passed", "duration": 0.00028504799999495845}, "lineno": 605, "nodeid": "core/tests/test_event.py::TestWaveformStreamID::test_id_property", "outcome": "passed", "keywords": ["test_id_property", "filterwarnings", "TestWaveformStreamID", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017075700000646066}}, {"call": {"outcome": "passed", "duration": 0.0002846769999962362}, "setup": {"outcome": "passed", "duration": 0.0002917109999884815}, "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.00016291100001808445}}, {"call": {"outcome": "passed", "duration": 0.00030924300000378935}, "setup": {"outcome": "passed", "duration": 0.00028009899997982757}, "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.00018550399997252498}}, {"call": {"outcome": "passed", "duration": 0.0012405089999845131}, "setup": {"outcome": "passed", "duration": 0.00027386799999362665}, "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.0001735810000127458}}, {"call": {"outcome": "passed", "duration": 0.0012873649999960435}, "setup": {"outcome": "passed", "duration": 0.00030299099998387646}, "lineno": 657, "nodeid": "core/tests/test_event.py::TestBase::test_setting_nans_or_inf_fails", "outcome": "passed", "keywords": ["test_setting_nans_or_inf_fails", "filterwarnings", "TestBase", "test_event.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017398200000684483}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011517350000076476, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_event.py\", line 674, in test_issue3105\n    evs = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002872119999892675}, "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.00026359800000363975}}, {"call": {"outcome": "passed", "duration": 0.00028104099999382015}, "setup": {"outcome": "passed", "duration": 0.0005476349999753438}, "lineno": 42, "nodeid": "core/tests/test_inventory.py::TestInventory::test_initialization", "outcome": "passed", "keywords": ["test_initialization", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016673899997954322}}, {"call": {"outcome": "passed", "duration": 0.0038420400000234167}, "setup": {"outcome": "passed", "duration": 0.00031952199998386277}, "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.00018194800000514988}}, {"call": {"outcome": "passed", "duration": 0.0007437679999782176}, "setup": {"outcome": "passed", "duration": 0.0003095830000177102}, "lineno": 107, "nodeid": "core/tests/test_inventory.py::TestInventory::test_get_coordinates", "outcome": "passed", "keywords": ["test_get_coordinates", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017326100001469058}}, {"call": {"outcome": "passed", "duration": 0.0006804609999733202}, "setup": {"outcome": "passed", "duration": 0.00032039300000974436}, "lineno": 140, "nodeid": "core/tests/test_inventory.py::TestInventory::test_get_orientation", "outcome": "passed", "keywords": ["test_get_orientation", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016846200000486533}}, {"call": {"outcome": "passed", "duration": 0.5295781920000024}, "setup": {"outcome": "passed", "duration": 0.0004625870000154464}, "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.0003425749999905747}}, {"call": {"outcome": "passed", "duration": 0.2650749000000019}, "setup": {"outcome": "passed", "duration": 0.00040603200000077777}, "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.0002445230000205356}}, {"call": {"outcome": "passed", "duration": 0.5229496179999842}, "setup": {"outcome": "passed", "duration": 0.0004070940000246992}, "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.00027245499998684863}}, {"call": {"outcome": "passed", "duration": 0.06013261399999692}, "setup": {"outcome": "passed", "duration": 0.00040549199999873053}, "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.0002675959999862698}}, {"call": {"outcome": "passed", "duration": 0.08390555799999788}, "setup": {"outcome": "passed", "duration": 0.00040529099999275786}, "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.0002513059999955658}}, {"call": {"outcome": "passed", "duration": 0.06347129100001325}, "setup": {"outcome": "passed", "duration": 0.0004195170000116377}, "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.00025082499999484753}}, {"call": {"outcome": "passed", "duration": 0.06902435200001378}, "setup": {"outcome": "passed", "duration": 0.0004090980000057698}, "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.00025709599998435806}}, {"call": {"outcome": "passed", "duration": 0.06126822800001719}, "setup": {"outcome": "passed", "duration": 0.0004217620000019906}, "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.0002737469999942732}}, {"call": {"outcome": "passed", "duration": 0.0003893419999769776}, "setup": {"outcome": "passed", "duration": 0.00044327099999463826}, "lineno": 492, "nodeid": "core/tests/test_inventory.py::TestInventory::test_util_unified_content_string", "outcome": "passed", "keywords": ["test_util_unified_content_string", "filterwarnings", "TestInventory", "usefixtures", "test_inventory.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018085499999642707}}, {"call": {"outcome": "passed", "duration": 0.0002716429999907177}, "setup": {"outcome": "passed", "duration": 0.0003182000000094831}, "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.00016763999997237988}}, {"call": {"outcome": "passed", "duration": 0.1386462300000062}, "setup": {"outcome": "passed", "duration": 0.000327225999996017}, "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.00025543300000663294}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001157864999981939, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 599, in test_inventory_can_be_initialized_with_no_arguments\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003937399999927038}, "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.00019252600000640996}}, {"call": {"outcome": "passed", "duration": 0.11741161000000488}, "setup": {"outcome": "passed", "duration": 0.00035256300000696683}, "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.0002540909999879659}}, {"call": {"outcome": "passed", "duration": 0.12166964099998268}, "setup": {"outcome": "passed", "duration": 0.00044125799999505944}, "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.0002501740000013797}}, {"call": {"outcome": "passed", "duration": 0.00035190299999499075}, "setup": {"outcome": "passed", "duration": 0.00039966999997886887}, "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.0001678510000147071}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008967819999838866, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 665, in test_read_inventory_with_wildcard\n    expected = read_inventory(testdata['IU_ANMO_00_BHZ.xml'])\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001010011999994731}, "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.00018531399999233145}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008389649999855919, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 676, in test_read_inventory_with_path\n    inv1 = read_inventory(path1)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003655680000065331}, "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.00023934399999347988}}, {"call": {"outcome": "passed", "duration": 2.1788710369999933}, "setup": {"outcome": "passed", "duration": 0.0005317860000104702}, "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.00032018499999253436}}, {"call": {"outcome": "passed", "duration": 1.2431146859999842}, "setup": {"outcome": "passed", "duration": 0.0005919509999898764}, "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.00035978899998667657}}, {"call": {"outcome": "passed", "duration": 3.1079392990000088}, "setup": {"outcome": "passed", "duration": 0.0006009269999935896}, "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.0003362649999871792}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06027671600000417, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_inventory.py\", line 720, in test_combined_station_event_plot\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006074990000115577}, "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.00047534399999449306}}, {"call": {"outcome": "passed", "duration": 0.0009041810000098849}, "setup": {"outcome": "passed", "duration": 0.0005740670000022874}, "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.0002057320000119489}}, {"call": {"outcome": "passed", "duration": 0.0006710670000131813}, "setup": {"outcome": "passed", "duration": 0.00031402300001559524}, "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.0001929590000031567}}, {"call": {"outcome": "passed", "duration": 0.5533879910000223}, "setup": {"outcome": "passed", "duration": 0.00045167900000819827}, "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.0003314569999872674}}, {"call": {"outcome": "passed", "duration": 0.2612185010000019}, "setup": {"outcome": "passed", "duration": 0.000397528999997121}, "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.00023597800000629832}}, {"call": {"outcome": "passed", "duration": 0.05900938999999994}, "setup": {"outcome": "passed", "duration": 0.00038260200000195255}, "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.00022619000000645428}}, {"call": {"outcome": "passed", "duration": 0.06292335599999888}, "setup": {"outcome": "passed", "duration": 0.0003970479999964027}, "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.00024293199999192439}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012491719999729867, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_network.py\", line 247, in test_writing_network_before_1990\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003907760000174676}, "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.00019192700000303375}}, {"call": {"outcome": "passed", "duration": 0.062016048999993245}, "setup": {"outcome": "passed", "duration": 0.0003323679999880369}, "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.00024160899999969843}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006383295999995653, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_network.py\", line 298, in test_empty_network_code\n    inv2 = read_inventory(buf)\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004245800000148847}, "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.00029004900000018097}}, {"call": {"outcome": "passed", "duration": 1.3113513050000165}, "setup": {"outcome": "passed", "duration": 0.0006924169999820151}, "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.00029984700000795783}}, {"call": {"outcome": "passed", "duration": 1.204711126999996}, "setup": {"outcome": "passed", "duration": 0.0005462860000022829}, "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.00033438200000546203}}, {"call": {"outcome": "passed", "duration": 0.5934577929999989}, "setup": {"outcome": "passed", "duration": 0.0005713219999847752}, "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.00042184399998745903}}, {"call": {"outcome": "passed", "duration": 0.002524061999992}, "setup": {"outcome": "passed", "duration": 0.0005298549999963598}, "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.00019467199999212426}}, {"call": {"outcome": "passed", "duration": 0.001619871000002604}, "setup": {"outcome": "passed", "duration": 0.0003135430000043016}, "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.00020515099998874575}}, {"call": {"outcome": "passed", "duration": 0.0020672530000069855}, "setup": {"outcome": "passed", "duration": 0.0003792050000015479}, "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.00018739899999786758}}, {"call": {"outcome": "passed", "duration": 0.0011552480000034393}, "setup": {"outcome": "passed", "duration": 0.0003250439999931132}, "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.00018852099998412086}}, {"call": {"outcome": "passed", "duration": 0.0013067589999877782}, "setup": {"outcome": "passed", "duration": 0.00029535900000610127}, "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.0001770990000125039}}, {"call": {"outcome": "passed", "duration": 0.0007715039999993678}, "setup": {"outcome": "passed", "duration": 0.0003278700000066692}, "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.00017662800001971846}}, {"call": {"outcome": "passed", "duration": 0.0006649660000164204}, "setup": {"outcome": "passed", "duration": 0.0003129219999777888}, "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.00017630700000381694}}, {"call": {"outcome": "passed", "duration": 0.0022942959999738832}, "setup": {"outcome": "passed", "duration": 0.0005709410000065418}, "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.00017836099999612998}}, {"call": {"outcome": "passed", "duration": 0.00032781999999542677}, "setup": {"outcome": "passed", "duration": 0.0003206460000058087}, "lineno": 71, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_objects_garbage_collection", "outcome": "passed", "keywords": ["test_objects_garbage_collection", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001607890000059342}}, {"call": {"outcome": "passed", "duration": 0.000416774999990821}, "setup": {"outcome": "passed", "duration": 0.0002937959999940176}, "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.00015784400000029564}}, {"call": {"outcome": "passed", "duration": 0.00034399000000462365}, "setup": {"outcome": "passed", "duration": 0.00031005599998934485}, "lineno": 103, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_getting_gc_no_shared_resource_id", "outcome": "passed", "keywords": ["test_getting_gc_no_shared_resource_id", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015713200002664962}}, {"call": {"outcome": "passed", "duration": 0.0014629700000057255}, "setup": {"outcome": "passed", "duration": 0.0002897790000133682}, "lineno": 118, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_getting_gc_with_shared_resource_id", "outcome": "passed", "keywords": ["test_getting_gc_with_shared_resource_id", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015966699999125922}}, {"call": {"outcome": "passed", "duration": 0.0004207019999853401}, "setup": {"outcome": "passed", "duration": 0.000313903999995091}, "lineno": 142, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resource_id_state_cleanup", "outcome": "passed", "keywords": ["test_resource_id_state_cleanup", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017799099998683232}}, {"call": {"outcome": "passed", "duration": 0.0004349180000247088}, "setup": {"outcome": "passed", "duration": 0.0002862620000030347}, "lineno": 162, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_quakeml_regex", "outcome": "passed", "keywords": ["test_quakeml_regex", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015866600000435938}}, {"call": {"outcome": "passed", "duration": 0.00025740799998175135}, "setup": {"outcome": "passed", "duration": 0.0003271879999999783}, "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.00017215100001521932}}, {"call": {"outcome": "passed", "duration": 0.00044347400000788184}, "setup": {"outcome": "passed", "duration": 0.0002859010000122453}, "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.00015467700001181584}}, {"call": {"outcome": "passed", "duration": 0.0002772549999860985}, "setup": {"outcome": "passed", "duration": 0.00031188899998824127}, "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.00016843299999891315}}, {"call": {"outcome": "passed", "duration": 0.014949442000016688}, "setup": {"outcome": "passed", "duration": 0.0002848190000008799}, "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.00025114600001074905}}, {"call": {"outcome": "passed", "duration": 0.0012075349999918217}, "setup": {"outcome": "passed", "duration": 0.00039751899998918816}, "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.00019248800001037125}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.009377353000019184, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 308, in test_preferred_origin\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000413068000000294}, "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.0002350970000009056}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008741992000011578, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 317, in test_preferred_magnitude\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036308500000359345}, "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.00021715299999414128}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008235990999992282, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 326, in test_preferred_focal_mechanism\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040184700000622797}, "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.000214448999997785}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008698541000001114, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 336, in test_arrivals_refer_to_picks_in_same_event\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003733439999962229}, "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.00025188799997977185}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008341245999986313, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 348, in test_all_referred_objects_in_events\n    for num, cat in enumerate(catalogs or make_diverse_catalog_list()):\n                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003801870000188501}, "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.00022866500000873202}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00814264699999967, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 363, in test_all_resource_id_attrs_are_attached\n    for cat in catalogs or make_diverse_catalog_list():\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003621829999929105}, "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.00020849800000632968}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0086189529999956, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 379, in test_no_overlapping_objects\n    catalogs = catalogs or make_diverse_catalog_list()\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034293699999921046}, "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.00019620500000883112}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013733030000082636, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 402, in test_event_copying_does_not_raise_duplicate_resource_id_warning\n    ev = read_events()[0]\n         ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032658800000717747}, "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.0001960550000035255}}, {"call": {"outcome": "passed", "duration": 0.0005530079999971349}, "setup": {"outcome": "passed", "duration": 0.0003384499999867785}, "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.00017563700001232974}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012059219999969173, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 468, in test_catalog_resource_ids\n    cat1 = read_events()\n           ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003288420000160386}, "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.00018432299998494273}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0605646610000008, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 505, in test_event_scoped_resource_id_many_threads\n    nested_catalogs = pool.map(make_diverse_catalog_list, range(5))\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 367, in map\n    return self._map_async(func, iterable, mapstar, chunksize).get()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 774, in get\n    raise self._value\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 125, in worker\n    result = (True, func(*args, **kwds))\n                    ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/pool.py\", line 48, in mapstar\n    return list(map(*args))\n           ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_resource_identifier.py\", line 743, in make_diverse_catalog_list\n    cat2 = read_events(bytes_io)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033016399999041823}, "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.0002528210000036779}}, {"call": {"outcome": "passed", "duration": 0.00034422999999605963}, "setup": {"outcome": "passed", "duration": 0.0003752770000176042}, "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.0001688340000214339}}, {"call": {"outcome": "passed", "duration": 0.0002793700000154331}, "setup": {"outcome": "passed", "duration": 0.00033636500000966407}, "lineno": 531, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resetting_id_warns_on_set_id", "outcome": "passed", "keywords": ["test_resetting_id_warns_on_set_id", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001789629999962017}}, {"call": {"outcome": "passed", "duration": 0.000345441999996865}, "setup": {"outcome": "passed", "duration": 0.00029757300001165277}, "lineno": 545, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_resource_ids_refer_to_newest_object", "outcome": "passed", "keywords": ["test_resource_ids_refer_to_newest_object", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015905600000110098}}, {"call": {"outcome": "passed", "duration": 0.009162242000002152}, "setup": {"outcome": "passed", "duration": 0.000312490999988313}, "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.00017092699999921024}}, {"call": {"outcome": "passed", "duration": 0.011520095999998148}, "setup": {"outcome": "passed", "duration": 0.00031177899998624525}, "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.00016867399997977373}}, {"call": {"outcome": "passed", "duration": 0.00039965300001654214}, "setup": {"outcome": "passed", "duration": 0.00030678000001671535}, "lineno": 618, "nodeid": "core/tests/test_resource_identifier.py::TestResourceIdentifier::test_get_object_hook", "outcome": "passed", "keywords": ["test_get_object_hook", "filterwarnings", "TestResourceIdentifier", "test_resource_identifier.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001599469999860048}}, {"call": {"outcome": "passed", "duration": 0.00042947800000092684}, "setup": {"outcome": "passed", "duration": 0.00029110099998774785}, "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.00016094899999075096}}, {"call": {"outcome": "passed", "duration": 0.00048363900000936155}, "setup": {"outcome": "passed", "duration": 0.00029166199999508535}, "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.00021752399999286354}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006800021000003653, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 66, in test_evalresp_with_output_from_seed\n    inv = read_inventory(xml_filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006714579999993475}, "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.0001772800000026109}}, {"call": {"outcome": "passed", "duration": 0.0010050289999981032}, "setup": {"outcome": "passed", "duration": 0.0003216780000059316}, "lineno": 97, "nodeid": "core/tests/test_response.py::TestResponse::test_calculate_normalization_factor", "outcome": "passed", "keywords": ["test_calculate_normalization_factor", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016294299999231043}}, {"call": {"outcome": "passed", "duration": 0.00031740000000013424}, "setup": {"outcome": "passed", "duration": 0.00032210800000598283}, "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.00015661999998428655}}, {"call": {"outcome": "passed", "duration": 0.6762343659999885}, "setup": {"outcome": "passed", "duration": 0.0004212430000052336}, "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.00034765599997399477}}, {"call": {"outcome": "passed", "duration": 0.5603110410000056}, "setup": {"outcome": "passed", "duration": 0.0006000549999782834}, "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.00037813299999811534}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010338319999902978, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 198, in test_segfault_after_error_handling\n    inv = read_inventory(testdata[\"TM.SKLT.__.BHZ_faulty_response.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000976555999983475}, "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.00020851799999377363}}, {"call": {"outcome": "passed", "duration": 0.00045677899998963767}, "setup": {"outcome": "passed", "duration": 0.0003485179999813681}, "lineno": 207, "nodeid": "core/tests/test_response.py::TestResponse::test_custom_types_init", "outcome": "passed", "keywords": ["test_custom_types_init", "filterwarnings", "TestResponse", "usefixtures", "test_response.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017753000000197972}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008573540000043067, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 227, in test_response_list_stage\n    inv = read_inventory(testdata[\"IM_IL31__BHZ.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036062099999867314}, "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.00019149599998513622}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002326313999986951, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 267, in test_response_with_no_units_in_stage_1\n    inv = read_inventory(testdata[\"stationxml_no_units_in_stage_1.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004081590000168944}, "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.00038689899997734756}}, {"call": {"outcome": "passed", "duration": 0.005526243000019804}, "setup": {"outcome": "passed", "duration": 0.000711672999983648}, "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.00036944700002550235}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009972230000130367, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 324, in test_resp_from_paz_loading_vs_evalresp\n    resp_er = read_inventory(filename)[0][0][0].response\n              ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007052710000152729}, "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.00019879000001310487}}, {"call": {"outcome": "passed", "duration": 0.000417146000017965}, "setup": {"outcome": "passed", "duration": 0.0003077119999943534}, "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.00016396500001292225}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06081849299999931, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 417, in test_get_sampling_rates\n    inv = read_inventory(testdata['AU.MEEK.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033262799999533854}, "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.00027488099999573024}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008913860000063778, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 477, in test_response_calculation_paz_without_decimation\n    inv = read_inventory(testdata['DK.BSD..BHZ.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004895790000034594}, "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.00020343799999977819}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008339909999790507, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_response.py\", line 491, in test_regression_evalresp\n    inv = read_inventory(testdata[\"IM_I53H1_BDF.xml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000372844000025907}, "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.0001878989999966052}}, {"call": {"outcome": "passed", "duration": 0.18529919599998834}, "setup": {"outcome": "passed", "duration": 0.0003428169999892816}, "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.00026679599997692094}}, {"call": {"outcome": "passed", "duration": 0.016538945999997168}, "setup": {"outcome": "passed", "duration": 0.0004017869999870527}, "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.00021425799999974515}}, {"call": {"outcome": "passed", "duration": 0.01662154000001692}, "setup": {"outcome": "passed", "duration": 0.0003888429999960863}, "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.00022251300001130403}}, {"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.05873405799999887}, "setup": {"outcome": "passed", "duration": 0.00039556500001936}, "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.00024439399999209854}}, {"call": {"outcome": "passed", "duration": 0.008705474000009872}, "setup": {"outcome": "passed", "duration": 0.0005104889999927309}, "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.0001957039999922472}}, {"call": {"outcome": "passed", "duration": 0.0636134590000097}, "setup": {"outcome": "passed", "duration": 0.00038734999998268904}, "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.00043148199998199743}}, {"call": {"outcome": "passed", "duration": 0.7033117839999932}, "setup": {"outcome": "passed", "duration": 0.0008123199999943154}, "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.0003467949999844677}}, {"call": {"outcome": "passed", "duration": 0.5564433890000089}, "setup": {"outcome": "passed", "duration": 0.0005643989999839505}, "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.0003413339999838172}}, {"call": {"outcome": "passed", "duration": 0.059658346999981404}, "setup": {"outcome": "passed", "duration": 0.00044404600001257677}, "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.00025715800001080424}}, {"call": {"outcome": "passed", "duration": 0.1311347569999839}, "setup": {"outcome": "passed", "duration": 0.000423628000021381}, "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.00023560700000757606}}, {"call": {"outcome": "passed", "duration": 0.0035740719999921566}, "setup": {"outcome": "passed", "duration": 0.00039800999999783926}, "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.0002450150000186113}}, {"call": {"outcome": "passed", "duration": 0.00035659200000282}, "setup": {"outcome": "passed", "duration": 0.00045117799999161434}, "lineno": 19, "nodeid": "core/tests/test_stats.py::TestStats::test_init", "outcome": "passed", "keywords": ["test_init", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001620509999895603}}, {"call": {"outcome": "passed", "duration": 0.0005140959999891948}, "setup": {"outcome": "passed", "duration": 0.00029760300000702955}, "lineno": 39, "nodeid": "core/tests/test_stats.py::TestStats::test_deepcopy", "outcome": "passed", "keywords": ["test_deepcopy", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016031799998472707}}, {"call": {"outcome": "passed", "duration": 0.00032873099999619626}, "setup": {"outcome": "passed", "duration": 0.00030601799997498347}, "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.00015781300001549425}}, {"call": {"outcome": "passed", "duration": 0.0002590810000242527}, "setup": {"outcome": "passed", "duration": 0.000288906999998062}, "lineno": 78, "nodeid": "core/tests/test_stats.py::TestStats::test_simple_stats", "outcome": "passed", "keywords": ["test_simple_stats", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015768299999763258}}, {"call": {"outcome": "passed", "duration": 0.0007639600000004521}, "setup": {"outcome": "passed", "duration": 0.00027854799998294766}, "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.00016320399998903667}}, {"call": {"outcome": "passed", "duration": 0.00031912299999703464}, "setup": {"outcome": "passed", "duration": 0.000279229000000214}, "lineno": 127, "nodeid": "core/tests/test_stats.py::TestStats::test_bugfix_set_stats", "outcome": "passed", "keywords": ["test_bugfix_set_stats", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015390600000841914}}, {"call": {"outcome": "passed", "duration": 0.0003103459999920233}, "setup": {"outcome": "passed", "duration": 0.00029271400001107395}, "lineno": 141, "nodeid": "core/tests/test_stats.py::TestStats::test_bugfix_set_stats_2", "outcome": "passed", "keywords": ["test_bugfix_set_stats_2", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015619100000208164}}, {"call": {"outcome": "passed", "duration": 0.0008004379999988487}, "setup": {"outcome": "passed", "duration": 0.0002743000000009488}, "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.0001578330000029382}}, {"call": {"outcome": "passed", "duration": 0.0008553689999928338}, "setup": {"outcome": "passed", "duration": 0.0002779970000119647}, "lineno": 178, "nodeid": "core/tests/test_stats.py::TestStats::test_pickle_stats", "outcome": "passed", "keywords": ["test_pickle_stats", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015999800001509357}}, {"call": {"outcome": "passed", "duration": 0.00030547800000135794}, "setup": {"outcome": "passed", "duration": 0.0002843579999876056}, "lineno": 203, "nodeid": "core/tests/test_stats.py::TestStats::test_set_calib", "outcome": "passed", "keywords": ["test_set_calib", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001569509999796992}}, {"call": {"outcome": "passed", "duration": 0.00042734400000199457}, "setup": {"outcome": "passed", "duration": 0.00027533199997265}, "lineno": 223, "nodeid": "core/tests/test_stats.py::TestStats::test_compare_with_dict", "outcome": "passed", "keywords": ["test_compare_with_dict", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015418699999258934}}, {"call": {"outcome": "passed", "duration": 0.00023480699999822718}, "setup": {"outcome": "passed", "duration": 0.0002773349999927177}, "lineno": 236, "nodeid": "core/tests/test_stats.py::TestStats::test_delta_zero", "outcome": "passed", "keywords": ["test_delta_zero", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017373299999690062}}, {"call": {"outcome": "passed", "duration": 0.00040008299998817165}, "setup": {"outcome": "passed", "duration": 0.000273629000020037}, "lineno": 243, "nodeid": "core/tests/test_stats.py::TestStats::test_non_str_in_nscl_raise_warning", "outcome": "passed", "keywords": ["test_non_str_in_nscl_raise_warning", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015856499999244988}}, {"call": {"outcome": "passed", "duration": 0.0003730239999981677}, "setup": {"outcome": "passed", "duration": 0.00029620000000818436}, "lineno": 262, "nodeid": "core/tests/test_stats.py::TestStats::test_nscl_cannot_be_none", "outcome": "passed", "keywords": ["test_nscl_cannot_be_none", "filterwarnings", "TestStats", "test_stats.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001742939999758164}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023626599999886366, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stats.py\", line 280, in test_casted_stats_nscl_writes_to_mseed\n    st = Stream(traces=read()[0])\n                       ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002956189999849812}, "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.0001983089999839649}}, {"call": {"outcome": "passed", "duration": 0.0003500499999802287}, "setup": {"outcome": "passed", "duration": 0.0004126960000121471}, "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.00016272300001674012}}, {"call": {"outcome": "passed", "duration": 0.00034662400000229354}, "setup": {"outcome": "passed", "duration": 0.00028986899999949856}, "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.00018192799998928422}}, {"call": {"outcome": "passed", "duration": 0.0003416750000155844}, "setup": {"outcome": "passed", "duration": 0.00043465799998898547}, "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.0001836410000066735}}, {"call": {"outcome": "passed", "duration": 0.0007846679999943262}, "setup": {"outcome": "passed", "duration": 0.0016031990000158203}, "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.00018625600000632403}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021347770000090804, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 114, in test_getitem\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030973599999128965}, "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.00019424100000264843}}, {"call": {"outcome": "passed", "duration": 0.0011832280000021456}, "setup": {"outcome": "passed", "duration": 0.0019486919999849306}, "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.00021129300000666262}}, {"call": {"outcome": "passed", "duration": 0.0005068330000028709}, "setup": {"outcome": "passed", "duration": 0.001873792999987245}, "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.00019010300002264557}}, {"call": {"outcome": "passed", "duration": 0.0007148889999939456}, "setup": {"outcome": "passed", "duration": 0.0002923739999971531}, "lineno": 178, "nodeid": "core/tests/test_stream.py::TestStream::test_mul", "outcome": "passed", "keywords": ["test_mul", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016213099999617953}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002279947999994647, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 197, in test_add_trace_to_stream\n    st0 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000279649999981757}, "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.00017979399999035195}}, {"call": {"outcome": "passed", "duration": 0.0005607419999762442}, "setup": {"outcome": "passed", "duration": 0.0014637499999992087}, "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.00018729799998595809}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020805160000065825, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 245, in test_count_and_len\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002879460000144718}, "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.00017799100001525403}}, {"call": {"outcome": "passed", "duration": 0.0004333949999875131}, "setup": {"outcome": "passed", "duration": 0.0015006789999745251}, "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.00020971899999722154}}, {"call": {"outcome": "passed", "duration": 0.0016517499999793017}, "setup": {"outcome": "passed", "duration": 0.0014339749999976448}, "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.0002005929999882028}}, {"call": {"outcome": "passed", "duration": 0.0006784910000021682}, "setup": {"outcome": "passed", "duration": 0.0014769139999941672}, "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.000178121000004694}}, {"call": {"outcome": "passed", "duration": 0.0009736400000122103}, "setup": {"outcome": "passed", "duration": 0.0002812419999997928}, "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.00015994800000385112}}, {"call": {"outcome": "passed", "duration": 0.0013519229999872096}, "setup": {"outcome": "passed", "duration": 0.0002794800000174291}, "lineno": 382, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_masked", "outcome": "passed", "keywords": ["test_get_gaps_masked", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001733420000107344}}, {"call": {"outcome": "passed", "duration": 0.0013146629999880588}, "setup": {"outcome": "passed", "duration": 0.0017155479999928502}, "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.00018580500000098255}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021830370000088806, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 443, in test_slicing\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002957199999968907}, "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.00017978399998241912}}, {"call": {"outcome": "passed", "duration": 0.00037788200000932193}, "setup": {"outcome": "passed", "duration": 0.00031287100000554346}, "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.0001555789999940771}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020866879999914545, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 474, in test_slice\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028370699999413773}, "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.0001760869999998249}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023545759999876736, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 487, in test_slice_nearest_sample\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031831100000090373}, "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.00018081600001096376}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024236449999932574, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 522, in test_cutout\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002993859999946835}, "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.0001958139999942432}}, {"call": {"outcome": "passed", "duration": 0.00033548400000427137}, "setup": {"outcome": "passed", "duration": 0.0002966010000022834}, "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.00015851500000962915}}, {"call": {"outcome": "passed", "duration": 0.0010701989999972739}, "setup": {"outcome": "passed", "duration": 0.001567023000006884}, "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.0001841320000153246}}, {"call": {"outcome": "passed", "duration": 0.0013365529999873615}, "setup": {"outcome": "passed", "duration": 0.0014891270000134682}, "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.00018393100000935192}}, {"call": {"outcome": "passed", "duration": 0.010018037000008917}, "setup": {"outcome": "passed", "duration": 0.0002967409999996562}, "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.00018507400000089547}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023589129999948, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 712, in test_select_on_single_letter_channels\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031599699997286734}, "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.00018324100000199905}}, {"call": {"outcome": "passed", "duration": 0.0018758759999855101}, "setup": {"outcome": "passed", "duration": 0.00031251100000417864}, "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.00017381300000351985}}, {"call": {"outcome": "passed", "duration": 0.0013812969999946745}, "setup": {"outcome": "passed", "duration": 0.0003124600000035116}, "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.00017473500000164677}}, {"call": {"outcome": "passed", "duration": 0.0011876169999993635}, "setup": {"outcome": "passed", "duration": 0.00028888700001061807}, "lineno": 844, "nodeid": "core/tests/test_stream.py::TestStream::test_sorting_twice", "outcome": "passed", "keywords": ["test_sorting_twice", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017170999998938896}}, {"call": {"outcome": "passed", "duration": 0.0035516700000073342}, "setup": {"outcome": "passed", "duration": 0.0002960699999903227}, "lineno": 881, "nodeid": "core/tests/test_stream.py::TestStream::test_merge_with_different_calibration_factors", "outcome": "passed", "keywords": ["test_merge_with_different_calibration_factors", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001969059999851197}}, {"call": {"outcome": "passed", "duration": 0.0037005169999986265}, "setup": {"outcome": "passed", "duration": 0.0002942469999993591}, "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.00017920299998763767}}, {"call": {"outcome": "passed", "duration": 0.0036177940000072795}, "setup": {"outcome": "passed", "duration": 0.00029460799999014853}, "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.00018038500002148794}}, {"call": {"outcome": "passed", "duration": 0.002733770000020286}, "setup": {"outcome": "passed", "duration": 0.0014844089999996868}, "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.0001996509999742102}}, {"call": {"outcome": "passed", "duration": 0.004719880999999759}, "setup": {"outcome": "passed", "duration": 0.00029616999998438587}, "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.0001807959999950981}}, {"call": {"outcome": "passed", "duration": 0.006396107000000484}, "setup": {"outcome": "passed", "duration": 0.0014737489999845366}, "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.00020051299998158356}}, {"call": {"outcome": "passed", "duration": 0.006130162000005157}, "setup": {"outcome": "passed", "duration": 0.0003108079999947222}, "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.00017936400001872244}}, {"call": {"outcome": "passed", "duration": 0.0004190489999871261}, "setup": {"outcome": "passed", "duration": 0.00029110099998774785}, "lineno": 1145, "nodeid": "core/tests/test_stream.py::TestStream::test_tab_completion_trace", "outcome": "passed", "keywords": ["test_tab_completion_trace", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017097699998203097}}, {"call": {"outcome": "passed", "duration": 0.001690641999999798}, "setup": {"outcome": "passed", "duration": 0.00030801200000496465}, "lineno": 1158, "nodeid": "core/tests/test_stream.py::TestStream::test_bugfix_merge_drop_trace_if_already_contained", "outcome": "passed", "keywords": ["test_bugfix_merge_drop_trace_if_already_contained", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017822199998818178}}, {"call": {"outcome": "passed", "duration": 0.012754673000017647}, "setup": {"outcome": "passed", "duration": 0.0003229710000027808}, "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.0001794540000048528}}, {"call": {"outcome": "passed", "duration": 0.018406575000000203}, "setup": {"outcome": "passed", "duration": 0.0002935450000052242}, "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.0002427210000064406}}, {"call": {"outcome": "passed", "duration": 0.0030662990000109858}, "setup": {"outcome": "passed", "duration": 0.0003592369999978473}, "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.00017952400000353919}}, {"call": {"outcome": "passed", "duration": 0.009977913000000171}, "setup": {"outcome": "passed", "duration": 0.0003149949999965429}, "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.0001784109999789507}}, {"call": {"outcome": "passed", "duration": 0.0012961289999964265}, "setup": {"outcome": "passed", "duration": 0.0002932950000058554}, "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.00017624700001306337}}, {"call": {"outcome": "passed", "duration": 0.0016586730000085481}, "setup": {"outcome": "passed", "duration": 0.0002820739999833677}, "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.00019519199997830583}}, {"call": {"outcome": "passed", "duration": 0.0004319629999827157}, "setup": {"outcome": "passed", "duration": 0.00028374699999744735}, "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.0001682429999902979}}, {"call": {"outcome": "passed", "duration": 0.0021690609999893695}, "setup": {"outcome": "passed", "duration": 0.0003007089999869095}, "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.00017971400001215443}}, {"call": {"outcome": "passed", "duration": 0.001404510000014625}, "setup": {"outcome": "passed", "duration": 0.0002922030000149789}, "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.0002389940000000479}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023732909999978347, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1419, in test_is_pickle\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029447699998286225}, "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.0001884300000085659}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002048776999998836, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1434, in test_read_write_pickle\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003131619999976465}, "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.00018520399999033543}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020173789999944347, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1474, in test_read_pickle\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028750399999921683}, "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.0001887100000033115}}, {"call": {"outcome": "passed", "duration": 0.0016703539999980421}, "setup": {"outcome": "passed", "duration": 0.00031141799999545583}, "lineno": 1485, "nodeid": "core/tests/test_stream.py::TestStream::test_get_gaps_2", "outcome": "passed", "keywords": ["test_get_gaps_2", "filterwarnings", "TestStream", "test_stream.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001729219999901943}}, {"call": {"outcome": "passed", "duration": 0.0007399350000127924}, "setup": {"outcome": "passed", "duration": 0.0003025820000175372}, "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.00017008599999712715}}, {"call": {"outcome": "passed", "duration": 0.0017956270000070162}, "setup": {"outcome": "passed", "duration": 0.00027959900000951166}, "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.00017536599997924895}}, {"call": {"outcome": "passed", "duration": 0.01130688200001373}, "setup": {"outcome": "passed", "duration": 0.00028339700000401535}, "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.00017786099999739235}}, {"call": {"outcome": "passed", "duration": 0.0014370400000132122}, "setup": {"outcome": "passed", "duration": 0.00028584099999307}, "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.00017385300000682946}}, {"call": {"outcome": "passed", "duration": 0.001981091999994078}, "setup": {"outcome": "passed", "duration": 0.0002795890000015788}, "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.00017359299999952782}}, {"call": {"outcome": "passed", "duration": 0.002737968000019464}, "setup": {"outcome": "passed", "duration": 0.0003095049999899402}, "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.00017607699999189208}}, {"call": {"outcome": "passed", "duration": 0.0018363230000204567}, "setup": {"outcome": "passed", "duration": 0.0003070500000035281}, "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.0001738329999909638}}, {"call": {"outcome": "passed", "duration": 0.0024166209999805233}, "setup": {"outcome": "passed", "duration": 0.00031297199998903125}, "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.00019355000000587097}}, {"call": {"outcome": "passed", "duration": 0.004820367999997188}, "setup": {"outcome": "passed", "duration": 0.0002851809999810939}, "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.0001952829999822825}}, {"call": {"outcome": "passed", "duration": 0.01721740700000396}, "setup": {"outcome": "passed", "duration": 0.00150491600001601}, "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.00019901999999660802}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021656349999830127, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1875, in test_integrate_and_differentiate\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029686100000958504}, "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.00018859100001122897}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020694659999946907, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1895, in test_read\n    tr = read(dtype=np.int64)[0]\n         ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000547877999991897}, "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.00018946200000868885}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008106260000033672, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1972, in test_read_path\n    st = read(data_path)\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004784189999895716}, "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.00018572499999436332}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020396209999944404, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1979, in test_copy\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003095449999932498}, "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.00018664599997464393}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021799610000243774, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 1994, in test_merge_with_empty_trace\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029014000000415763}, "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.0001869879999958357}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020901940000044306, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2007, in test_rotate\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031346299999768235}, "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.00018616599999177197}}, {"call": {"outcome": "passed", "duration": 0.2364332900000079}, "setup": {"outcome": "passed", "duration": 0.0015105170000140333}, "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.0002431819999912932}}, {"call": {"outcome": "passed", "duration": 0.3854248410000025}, "setup": {"outcome": "passed", "duration": 0.0016691920000084792}, "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.0002688200000022789}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002403036000004022, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2111, in test_deepcopy\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038329299999873}, "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.00019052400000418857}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020972169999993184, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2128, in test_write\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003307050000103118}, "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.00017635799997606227}}, {"call": {"outcome": "passed", "duration": 0.030750847000007298}, "setup": {"outcome": "passed", "duration": 0.0002984049999952276}, "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.00018621600000301441}}, {"call": {"outcome": "passed", "duration": 0.012668122000007997}, "setup": {"outcome": "passed", "duration": 0.00030277199999773075}, "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.00017605700000444813}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002157239000013078, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2190, in test_issue_540\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002954090000173437}, "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.0001787920000140275}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021337450000089575, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2222, in test_method_chaining\n    st1 = read()[0:1]\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003200540000136698}, "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.0001802349999877606}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00232070199999157, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2303, in test_simulate_seedresp_parser\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002963999999963107}, "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.00017666900001245267}}, {"call": {"outcome": "passed", "duration": 0.0009993469999756144}, "setup": {"outcome": "passed", "duration": 0.0017016120000050705}, "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.00020020200000203658}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020928290000199468, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2361, in test_remove_response\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002897779999955219}, "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.00017616799999586874}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002067052000001013, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2376, in test_attach_response_deprecated\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029749300000503354}, "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.0001888109999867993}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020561210000096253, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2387, in test_remove_sensitivity\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003167179999934433}, "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.00020866699998123295}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020322770000120727, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2408, in test_interpolate\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029566999998564825}, "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.00018792899999198198}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023226170000043567, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2421, in test_integrate\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033262799999533854}, "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.00017831099998488753}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020580249999966327, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2434, in test_integrate_args\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003053169999986949}, "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.00019224799999051356}}, {"call": {"outcome": "passed", "duration": 0.21317714200000637}, "setup": {"outcome": "passed", "duration": 0.00031120799999939663}, "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.00025414199998863296}}, {"call": {"outcome": "passed", "duration": 0.03592335900000876}, "setup": {"outcome": "passed", "duration": 0.00040263900001491493}, "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.0002052020000178345}}, {"call": {"outcome": "passed", "duration": 0.002871556000002329}, "setup": {"outcome": "passed", "duration": 0.00032608600000116894}, "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.00018281000001252323}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002333297000006951, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2651, in test_passing_kwargs_to_trace_detrend\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030621900000937785}, "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.00018907200001194724}}, {"call": {"outcome": "passed", "duration": 0.018753951999997298}, "setup": {"outcome": "passed", "duration": 0.00029921600000193393}, "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.00022741299997619535}}, {"call": {"outcome": "passed", "duration": 0.16231674399998042}, "setup": {"outcome": "passed", "duration": 0.00032921199999691453}, "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.0002286250000054224}}, {"call": {"outcome": "passed", "duration": 0.3365536099999815}, "setup": {"outcome": "passed", "duration": 0.0003454920000081074}, "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.00024442400001589704}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002621231000006219, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2745, in test_stack\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003778320000265012}, "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.00019284799998331437}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002172597999987147, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2847, in test_stream_trim_slice_same_length\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034415900000794863}, "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.000203338000005715}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002420499000010068, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2854, in test_filter_ftype\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033326900000929527}, "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.00021542100000715436}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002141719999997349, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_stream.py\", line 2863, in test_filter_freq_args\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003087339999865435}, "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.0001816379999866058}}, {"call": {"outcome": "passed", "duration": 0.015069474000000582}, "setup": {"outcome": "passed", "duration": 0.0017692580000243652}, "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.00021343599999568141}}, {"call": {"outcome": "passed", "duration": 0.005477769000009403}, "setup": {"outcome": "passed", "duration": 0.0015685949999806326}, "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.0002460270000028686}}, {"call": {"outcome": "passed", "duration": 0.0004354790000036246}, "setup": {"outcome": "passed", "duration": 0.0004427629999952387}, "lineno": 35, "nodeid": "core/tests/test_trace.py::TestTrace::test_init", "outcome": "passed", "keywords": ["test_init", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017549599999711063}}, {"call": {"outcome": "passed", "duration": 0.00048645399999713845}, "setup": {"outcome": "passed", "duration": 0.0002967819999923904}, "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.00017231100000003607}}, {"call": {"outcome": "passed", "duration": 0.00027192500002115594}, "setup": {"outcome": "passed", "duration": 0.00031273099997974896}, "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.00016614899999467525}}, {"call": {"outcome": "passed", "duration": 0.0008056469999928595}, "setup": {"outcome": "passed", "duration": 0.00028276599999799146}, "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.0001697149999984049}}, {"call": {"outcome": "passed", "duration": 0.0026738490000184356}, "setup": {"outcome": "passed", "duration": 0.00036702200000604535}, "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.00017693899999926543}}, {"call": {"outcome": "passed", "duration": 0.004584079000011343}, "setup": {"outcome": "passed", "duration": 0.0002890779999802362}, "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.00017846099999019316}}, {"call": {"outcome": "passed", "duration": 0.0034729629999787903}, "setup": {"outcome": "passed", "duration": 0.0003091549999965082}, "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.0001961940000114737}}, {"call": {"outcome": "passed", "duration": 0.0020555090000016207}, "setup": {"outcome": "passed", "duration": 0.0002898589999915657}, "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.00018541500000424094}}, {"call": {"outcome": "passed", "duration": 0.0011038620000078936}, "setup": {"outcome": "passed", "duration": 0.00031240100000218263}, "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.00019722599998317492}}, {"call": {"outcome": "passed", "duration": 0.0005944449999901735}, "setup": {"outcome": "passed", "duration": 0.0002964709999844217}, "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.0001717590000112068}}, {"call": {"outcome": "passed", "duration": 0.0012063819999923453}, "setup": {"outcome": "passed", "duration": 0.0003037650000123904}, "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.00016594800001712429}}, {"call": {"outcome": "passed", "duration": 0.001026818999974921}, "setup": {"outcome": "passed", "duration": 0.00028796500001249115}, "lineno": 400, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_trace_with_overlap", "outcome": "passed", "keywords": ["test_add_trace_with_overlap", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016224199998760014}}, {"call": {"outcome": "passed", "duration": 0.0009147099999893271}, "setup": {"outcome": "passed", "duration": 0.00028894700000137163}, "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.00018584599999371676}}, {"call": {"outcome": "passed", "duration": 0.0019097889999954987}, "setup": {"outcome": "passed", "duration": 0.00028472899998632784}, "lineno": 444, "nodeid": "core/tests/test_trace.py::TestTrace::test_add_trace_within_trace", "outcome": "passed", "keywords": ["test_add_trace_within_trace", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018837999999732347}}, {"call": {"outcome": "passed", "duration": 0.0023578819999841016}, "setup": {"outcome": "passed", "duration": 0.00029669099998841375}, "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.00017004600002223924}}, {"call": {"outcome": "passed", "duration": 0.008573293000011972}, "setup": {"outcome": "passed", "duration": 0.00030129999998962376}, "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.00018253999999728876}}, {"call": {"outcome": "passed", "duration": 0.0011387469999988298}, "setup": {"outcome": "passed", "duration": 0.0003173599999968246}, "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.00016620899998542882}}, {"call": {"outcome": "passed", "duration": 0.007703286000008802}, "setup": {"outcome": "passed", "duration": 0.00029619000000025153}, "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.00016707000000337757}}, {"call": {"outcome": "passed", "duration": 0.0018473330000006172}, "setup": {"outcome": "passed", "duration": 0.0003314960000011524}, "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.00016589899999530644}}, {"call": {"outcome": "passed", "duration": 0.00387899899999411}, "setup": {"outcome": "passed", "duration": 0.0002883059999874149}, "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.00016719100000273102}}, {"call": {"outcome": "passed", "duration": 0.0016820159999895168}, "setup": {"outcome": "passed", "duration": 0.0002857610000148725}, "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.00017409299999826544}}, {"call": {"outcome": "passed", "duration": 0.2147870839999939}, "setup": {"outcome": "passed", "duration": 0.0003047659999992902}, "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.00022706200002176047}}, {"call": {"outcome": "passed", "duration": 0.0007093490000045222}, "setup": {"outcome": "passed", "duration": 0.0003612009999756083}, "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.00017373300002532233}}, {"call": {"outcome": "passed", "duration": 0.005509257999989359}, "setup": {"outcome": "passed", "duration": 0.00028715300001636024}, "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.00017843200001266268}}, {"call": {"outcome": "passed", "duration": 0.0020535360000053515}, "setup": {"outcome": "passed", "duration": 0.0003344720000200141}, "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.00017414399999893249}}, {"call": {"outcome": "passed", "duration": 0.002142351000003373}, "setup": {"outcome": "passed", "duration": 0.00028747499999326465}, "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.00019360000001711342}}, {"call": {"outcome": "passed", "duration": 0.0031236049999847637}, "setup": {"outcome": "passed", "duration": 0.00028736400000184403}, "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.0001763280000091072}}, {"call": {"outcome": "passed", "duration": 0.003412591999989445}, "setup": {"outcome": "passed", "duration": 0.00028034099997853446}, "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.0001748549999831539}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022570550000011735, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1208, in test_masked_array_to_string\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002899489999776961}, "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.00017690900000388865}}, {"call": {"outcome": "passed", "duration": 0.004096914000001561}, "setup": {"outcome": "passed", "duration": 0.0002914009999983591}, "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.00019585399999755282}}, {"call": {"outcome": "passed", "duration": 0.012386488999993617}, "setup": {"outcome": "passed", "duration": 0.0002867629999911969}, "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.00020668499999487722}}, {"call": {"outcome": "passed", "duration": 0.012308001999997487}, "setup": {"outcome": "passed", "duration": 0.0003163680000000113}, "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.0001918760000023667}}, {"call": {"outcome": "passed", "duration": 0.011729156999990664}, "setup": {"outcome": "passed", "duration": 0.00033041399998978704}, "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.00018539399999895068}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023426730000153384, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1328, in test_verify\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032292999998162486}, "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.00018973300001334792}}, {"call": {"outcome": "passed", "duration": 0.0003976690000229155}, "setup": {"outcome": "passed", "duration": 0.00030066900001202157}, "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.00016892400000756425}}, {"call": {"outcome": "passed", "duration": 0.0011064859999976306}, "setup": {"outcome": "passed", "duration": 0.0002853210000068884}, "lineno": 1338, "nodeid": "core/tests/test_trace.py::TestTrace::test_taper", "outcome": "passed", "keywords": ["test_taper", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019463200001723635}}, {"call": {"outcome": "passed", "duration": 0.013384985000016059}, "setup": {"outcome": "passed", "duration": 0.00028514999999629254}, "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.00020296700000699275}}, {"call": {"outcome": "passed", "duration": 0.0042441570000164575}, "setup": {"outcome": "passed", "duration": 0.00031815099998766527}, "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.00018381200001726938}}, {"call": {"outcome": "passed", "duration": 0.0022979510000027403}, "setup": {"outcome": "passed", "duration": 0.0002905110000028799}, "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.00018266899999730413}}, {"call": {"outcome": "passed", "duration": 0.0006150130000150966}, "setup": {"outcome": "passed", "duration": 0.0002949080000007598}, "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.00017209000000661945}}, {"call": {"outcome": "passed", "duration": 0.05809691499999303}, "setup": {"outcome": "passed", "duration": 0.0003140029999997296}, "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.0002233849999981885}}, {"call": {"outcome": "passed", "duration": 0.06328651000001173}, "setup": {"outcome": "passed", "duration": 0.0003644379999911962}, "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.00022467700000561308}}, {"call": {"outcome": "passed", "duration": 0.0005379389999973228}, "setup": {"outcome": "passed", "duration": 0.0003693959999964136}, "lineno": 1502, "nodeid": "core/tests/test_trace.py::TestTrace::test_raise_masked", "outcome": "passed", "keywords": ["test_raise_masked", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017098800000781011}}, {"call": {"outcome": "passed", "duration": 0.0018265550000080566}, "setup": {"outcome": "passed", "duration": 0.0002960310000048594}, "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.00017911300000150732}}, {"call": {"outcome": "passed", "duration": 0.0004337560000067242}, "setup": {"outcome": "passed", "duration": 0.00029467699999941033}, "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.00017005600000175036}}, {"call": {"outcome": "passed", "duration": 0.0011881579999908354}, "setup": {"outcome": "passed", "duration": 0.0002856710000003204}, "lineno": 1551, "nodeid": "core/tests/test_trace.py::TestTrace::test_split_masked_array_without_actually_masked_values", "outcome": "passed", "keywords": ["test_split_masked_array_without_actually_masked_values", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001744940000207862}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002284094999993158, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1577, in test_simulate_evalresp\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000305988999997453}, "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.0002357280000069295}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023244299999873874, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1605, in test_issue_540\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003146150000077341}, "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.0001882500000078835}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00204114300001379, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1636, in test_resample\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002940260000059425}, "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.0001865659999964464}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020267059999810044, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1667, in test_method_chaining\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030418500000450877}, "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.00017605600001502353}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002016747999988411, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1705, in test_skip_empty_trace\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031540599999857477}, "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.0002133970000102181}}, {"call": {"outcome": "passed", "duration": 0.0003959560000055262}, "setup": {"outcome": "passed", "duration": 0.00032640699998864875}, "lineno": 1713, "nodeid": "core/tests/test_trace.py::TestTrace::test_issue_695", "outcome": "passed", "keywords": ["test_issue_695", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001677819999770236}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002223361999995177, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1734, in test_remove_response\n    tr1 = read()[0]\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030896499998789295}, "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.00020718499999361484}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021258010000053673, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1750, in test_remove_polynomial_response\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0023925369999915347}, "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.00019098499998904117}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002066450000000941, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1785, in test_processing_info_remove_response_and_sensitivity\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002948179999862077}, "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.00017676800001709125}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022352640000065094, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1825, in test_processing_information\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002915819999884661}, "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.0001884600000039427}}, {"call": {"outcome": "passed", "duration": 0.001403018000019074}, "setup": {"outcome": "passed", "duration": 0.00029520900000079564}, "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.00021014099999661084}}, {"call": {"outcome": "passed", "duration": 0.0002879150000012487}, "setup": {"outcome": "passed", "duration": 0.00031258100000286504}, "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.0001865270000109831}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006235607999997228, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1907, in test_interpolate\n    org_tr = read(\"/path/to/%s\" % file_, round_sampling_interval=False)[0]\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002874250000104439}, "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.00018748900001241964}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002051953000005824, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 1983, in test_interpolation_time_shift\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000313943000008976}, "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.00017360199998961434}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022930819999942287, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2047, in test_interpolation_arguments\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002864730000169402}, "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.0001883600000098795}}, {"call": {"outcome": "passed", "duration": 0.023196948000020257}, "setup": {"outcome": "passed", "duration": 0.00031368300000167437}, "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.00025779900002476097}}, {"call": {"outcome": "passed", "duration": 0.012674314000008735}, "setup": {"outcome": "passed", "duration": 0.00035717299999760144}, "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.0001936699999873781}}, {"call": {"outcome": "passed", "duration": 0.001747848999997359}, "setup": {"outcome": "passed", "duration": 0.000317669999986947}, "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.00018342099997425976}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013129399999911584, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2292, in test_remove_response_plot\n    tr = read(\"/path/to/IU_ULN_00_LH1_2015-07-18T02.mseed\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00048816700001452773}, "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.0003723209999861865}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0044238920000054804, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2302, in test_remove_response_default_units\n    tr = read(\"/path/to/1T_MONN_00_EDH.mseed\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032074599999987186}, "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.0001865969999812478}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021622780000143393, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2308, in test_attach_response_deprecated\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031704899998885594}, "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.0001756260000149723}}, {"call": {"outcome": "passed", "duration": 0.0040207020000195826}, "setup": {"outcome": "passed", "duration": 0.00029165200001557423}, "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.00019417100000396204}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023867450000238932, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2420, in test_dtype_is_not_unnecessarily_changed\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00028509000000553897}, "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.0001837119999947845}}, {"call": {"outcome": "passed", "duration": 0.0006300299999963954}, "setup": {"outcome": "passed", "duration": 0.0002920729999971172}, "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.0001686629999824163}}, {"call": {"outcome": "passed", "duration": 0.0006168560000219259}, "setup": {"outcome": "passed", "duration": 0.00028660300000638017}, "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.00017372299998896779}}, {"call": {"outcome": "passed", "duration": 0.00038973400000941183}, "setup": {"outcome": "passed", "duration": 0.0003057089999742857}, "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.00016699999997626946}}, {"call": {"outcome": "passed", "duration": 0.0008525140000017473}, "setup": {"outcome": "passed", "duration": 0.0002811719999726847}, "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.00016892400000756425}}, {"call": {"outcome": "passed", "duration": 0.0008312250000130916}, "setup": {"outcome": "passed", "duration": 0.00028528999999366533}, "lineno": 2673, "nodeid": "core/tests/test_trace.py::TestTrace::test_pickle_soh", "outcome": "passed", "keywords": ["test_pickle_soh", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017207999999868662}}, {"call": {"outcome": "passed", "duration": 0.0004190790000109246}, "setup": {"outcome": "passed", "duration": 0.0002836969999862049}, "lineno": 2686, "nodeid": "core/tests/test_trace.py::TestTrace::test_deepcopy_issue2600", "outcome": "passed", "keywords": ["test_deepcopy_issue2600", "filterwarnings", "TestTrace", "test_trace.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016885400000887785}}, {"call": {"outcome": "passed", "duration": 0.00038165899999853536}, "setup": {"outcome": "passed", "duration": 0.00031085800000596464}, "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.00018616600002019368}}, {"call": {"outcome": "passed", "duration": 0.0008831610000186174}, "setup": {"outcome": "passed", "duration": 0.0002808119999997416}, "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.00018625600000632403}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002099993000001632, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_trace.py\", line 2728, in test_long_processing_list\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000284960000016099}, "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.00018817000000126427}}, {"call": {"outcome": "passed", "duration": 0.21848151800000437}, "setup": {"outcome": "passed", "duration": 0.0003159769999854234}, "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.00036068999997951323}}, {"call": {"outcome": "passed", "duration": 0.004229238999982954}, "setup": {"outcome": "passed", "duration": 0.00046120799999016526}, "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.00019031399997970766}}, {"call": {"outcome": "passed", "duration": 0.0008594270000230608}, "setup": {"outcome": "passed", "duration": 0.0003314159999945332}, "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.00017992399997979192}}, {"call": {"outcome": "passed", "duration": 0.0003945030000238603}, "setup": {"outcome": "passed", "duration": 0.00030749100000093676}, "lineno": 62, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_python_date_time", "outcome": "passed", "keywords": ["test_from_python_date_time", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001658479999946394}}, {"call": {"outcome": "passed", "duration": 0.00034371799998211827}, "setup": {"outcome": "passed", "duration": 0.00032805999998686275}, "lineno": 75, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_from_numeric", "outcome": "passed", "keywords": ["test_from_numeric", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001621909999869331}}, {"call": {"outcome": "passed", "duration": 0.007138977000010982}, "setup": {"outcome": "passed", "duration": 0.0002925839999932123}, "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.00017127899999991314}}, {"call": {"outcome": "passed", "duration": 0.009308147000012923}, "setup": {"outcome": "passed", "duration": 0.0003329989999940608}, "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.0001795640000068488}}, {"call": {"outcome": "passed", "duration": 0.010027704999998832}, "setup": {"outcome": "passed", "duration": 0.0003113679999842134}, "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.00020518200000196885}}, {"call": {"outcome": "passed", "duration": 0.0004205310000031659}, "setup": {"outcome": "passed", "duration": 0.00032657700000982004}, "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.0001772100000039245}}, {"call": {"outcome": "passed", "duration": 0.00032363100001475686}, "setup": {"outcome": "passed", "duration": 0.00029996699998946497}, "lineno": 278, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_deepcopy", "outcome": "passed", "keywords": ["test_deepcopy", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016015700001048572}}, {"call": {"outcome": "passed", "duration": 0.0006584229999759827}, "setup": {"outcome": "passed", "duration": 0.0003076520000035998}, "lineno": 285, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_add", "outcome": "passed", "keywords": ["test_add", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001593060000004698}}, {"call": {"outcome": "passed", "duration": 0.0003733340000167118}, "setup": {"outcome": "passed", "duration": 0.00028817599999797494}, "lineno": 299, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_sub", "outcome": "passed", "keywords": ["test_sub", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016793200001075093}}, {"call": {"outcome": "passed", "duration": 0.0002656639999827348}, "setup": {"outcome": "passed", "duration": 0.0002814830000090751}, "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.00016033800000059273}}, {"call": {"outcome": "passed", "duration": 0.00028011999998511783}, "setup": {"outcome": "passed", "duration": 0.00027907899999490837}, "lineno": 322, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_sub_with_negative_time_stamp", "outcome": "passed", "keywords": ["test_sub_with_negative_time_stamp", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015668000000346183}}, {"call": {"outcome": "passed", "duration": 0.0011896210000088558}, "setup": {"outcome": "passed", "duration": 0.0002974030000189032}, "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.00016098000000397406}}, {"call": {"outcome": "passed", "duration": 0.0004806639999799245}, "setup": {"outcome": "passed", "duration": 0.0002885870000000068}, "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.0001719290000039564}}, {"call": {"outcome": "passed", "duration": 0.000399181999995335}, "setup": {"outcome": "passed", "duration": 0.0003085230000010597}, "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.00017792999997823244}}, {"call": {"outcome": "passed", "duration": 0.0007057910000014544}, "setup": {"outcome": "passed", "duration": 0.00028276500000856686}, "lineno": 390, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_init_UTC_mixing_keyworks_with_arguments", "outcome": "passed", "keywords": ["test_init_UTC_mixing_keyworks_with_arguments", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001613800000086485}}, {"call": {"outcome": "passed", "duration": 0.0004806329999951231}, "setup": {"outcome": "passed", "duration": 0.0002833869999960825}, "lineno": 415, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_to_python_date_time_objects", "outcome": "passed", "keywords": ["test_to_python_date_time_objects", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001577629999758301}}, {"call": {"outcome": "passed", "duration": 0.0004058950000001005}, "setup": {"outcome": "passed", "duration": 0.00029686199999900964}, "lineno": 433, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_sub_add_float", "outcome": "passed", "keywords": ["test_sub_add_float", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017251100001658415}}, {"call": {"outcome": "passed", "duration": 0.0006573420000108854}, "setup": {"outcome": "passed", "duration": 0.000280532000004996}, "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.00015915599999516417}}, {"call": {"outcome": "passed", "duration": 0.0004972240000142847}, "setup": {"outcome": "passed", "duration": 0.00028129300000045987}, "lineno": 459, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_invalid_dates", "outcome": "passed", "keywords": ["test_invalid_dates", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016076899999006855}}, {"call": {"outcome": "passed", "duration": 0.00039009500000020125}, "setup": {"outcome": "passed", "duration": 0.00030284299998584174}, "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.00015925600001764906}}, {"call": {"outcome": "passed", "duration": 0.0005279709999967963}, "setup": {"outcome": "passed", "duration": 0.0002779559999908088}, "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.00016069900001980386}}, {"call": {"outcome": "passed", "duration": 0.0009955510000168033}, "setup": {"outcome": "passed", "duration": 0.00030086900000014793}, "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.00017026599999780956}}, {"call": {"outcome": "passed", "duration": 0.0007696000000123604}, "setup": {"outcome": "passed", "duration": 0.0002892580000093403}, "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.00015799400000560127}}, {"call": {"outcome": "passed", "duration": 0.0007685989999970388}, "setup": {"outcome": "passed", "duration": 0.0002987750000045253}, "lineno": 558, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_ne", "outcome": "passed", "keywords": ["test_ne", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015544900000463713}}, {"call": {"outcome": "passed", "duration": 0.0015466840000044613}, "setup": {"outcome": "passed", "duration": 0.000309644999987313}, "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.00017490499999439635}}, {"call": {"outcome": "passed", "duration": 0.0015319980000185751}, "setup": {"outcome": "passed", "duration": 0.00040870000000836626}, "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.00015782300002342708}}, {"call": {"outcome": "passed", "duration": 0.0015071809999938068}, "setup": {"outcome": "passed", "duration": 0.0002825749999999516}, "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.0001606790000039382}}, {"call": {"outcome": "passed", "duration": 0.0015310560000045825}, "setup": {"outcome": "passed", "duration": 0.0002996569999993426}, "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.00016411599997923076}}, {"call": {"outcome": "passed", "duration": 0.00036643100000333106}, "setup": {"outcome": "passed", "duration": 0.0002818030000071303}, "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.00015729199998304466}}, {"call": {"outcome": "passed", "duration": 0.00026602500000194595}, "setup": {"outcome": "passed", "duration": 0.0003230199999961769}, "lineno": 733, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_weekday", "outcome": "passed", "keywords": ["test_weekday", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015764299999432296}}, {"call": {"outcome": "passed", "duration": 0.00028645200001164994}, "setup": {"outcome": "passed", "duration": 0.00027906800002597265}, "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.00015401600001041515}}, {"call": {"outcome": "passed", "duration": 0.0006223869999928411}, "setup": {"outcome": "passed", "duration": 0.00029321499999923617}, "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.0001584339999851636}}, {"call": {"outcome": "passed", "duration": 0.0002622069999915766}, "setup": {"outcome": "passed", "duration": 0.00027864800000543255}, "lineno": 800, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_precision_above_9_issues_warning", "outcome": "passed", "keywords": ["test_precision_above_9_issues_warning", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000154557000001887}}, {"call": {"outcome": "passed", "duration": 0.0008134919999918111}, "setup": {"outcome": "passed", "duration": 0.00027973999999630905}, "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.00015824400000497008}}, {"call": {"outcome": "passed", "duration": 0.0006397690000028433}, "setup": {"outcome": "passed", "duration": 0.00033354999999346546}, "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.00016002699999262404}}, {"call": {"outcome": "passed", "duration": 0.003022987999997895}, "setup": {"outcome": "passed", "duration": 0.00029743300001427997}, "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.00016079899998544533}}, {"call": {"outcome": "passed", "duration": 0.00042607099999258935}, "setup": {"outcome": "passed", "duration": 0.00031504500000778535}, "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.0001787520000107179}}, {"call": {"outcome": "passed", "duration": 0.0002467779999903996}, "setup": {"outcome": "passed", "duration": 0.0002834869999901457}, "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.0001541059999965455}}, {"call": {"outcome": "passed", "duration": 0.00024408400000197616}, "setup": {"outcome": "passed", "duration": 0.00029173199999377175}, "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.0002059029999941231}}, {"call": {"outcome": "passed", "duration": 0.0002451149999842528}, "setup": {"outcome": "passed", "duration": 0.000275632000011683}, "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.00015974699999787845}}, {"call": {"outcome": "passed", "duration": 0.00031726000000276144}, "setup": {"outcome": "passed", "duration": 0.0002758930000084092}, "lineno": 973, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_abs", "outcome": "passed", "keywords": ["test_abs", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001571319999982279}}, {"call": {"outcome": "passed", "duration": 0.0014254989999926693}, "setup": {"outcome": "passed", "duration": 0.0003215769999940221}, "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.00016248200000745783}}, {"call": {"outcome": "passed", "duration": 0.00034933000000592074}, "setup": {"outcome": "passed", "duration": 0.00028473000000417414}, "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.00015627099998027916}}, {"call": {"outcome": "passed", "duration": 0.0004166939999947772}, "setup": {"outcome": "passed", "duration": 0.0003000480000139305}, "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.00017595599999253864}}, {"call": {"outcome": "passed", "duration": 0.07538014399997905}, "setup": {"outcome": "passed", "duration": 0.0002789880000193534}, "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.00024985400000332447}}, {"call": {"outcome": "passed", "duration": 0.0007488720000026206}, "setup": {"outcome": "passed", "duration": 0.000427465000001348}, "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.0002072050000094805}}, {"call": {"outcome": "passed", "duration": 0.0010822009999742477}, "setup": {"outcome": "passed", "duration": 0.0003368259999945167}, "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.0001794929999903161}}, {"call": {"outcome": "passed", "duration": 0.001396255000003066}, "setup": {"outcome": "passed", "duration": 0.00032580600000642335}, "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.00017817100001593644}}, {"call": {"outcome": "passed", "duration": 0.0015884720000087782}, "setup": {"outcome": "passed", "duration": 0.00030544800000598116}, "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.00019213699999909295}}, {"call": {"outcome": "passed", "duration": 0.0003339109999842549}, "setup": {"outcome": "passed", "duration": 0.0003015500000174143}, "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.00016207100000542596}}, {"call": {"outcome": "passed", "duration": 0.0004948600000034276}, "setup": {"outcome": "passed", "duration": 0.00060889200000247}, "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.00016301299999099683}}, {"call": {"outcome": "passed", "duration": 0.0004394860000047629}, "setup": {"outcome": "passed", "duration": 0.00031205000001932603}, "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.00017532599997593934}}, {"call": {"outcome": "passed", "duration": 0.0003052170000046317}, "setup": {"outcome": "passed", "duration": 0.0002963610000108474}, "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.0001557589999947595}}, {"call": {"outcome": "passed", "duration": 0.0003491789999827688}, "setup": {"outcome": "passed", "duration": 0.0003166490000126032}, "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.00017573600001696832}}, {"call": {"outcome": "passed", "duration": 0.0004893589999994674}, "setup": {"outcome": "passed", "duration": 0.00028353599998354184}, "lineno": 1221, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_timestamp_can_serialize_with_time_attrs", "outcome": "passed", "keywords": ["test_timestamp_can_serialize_with_time_attrs", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015803400000891088}}, {"call": {"outcome": "passed", "duration": 0.0003468949999785309}, "setup": {"outcome": "passed", "duration": 0.00028516000000422537}, "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.00019512299999746574}}, {"call": {"outcome": "passed", "duration": 0.005609002999989343}, "setup": {"outcome": "passed", "duration": 0.0002820740000117894}, "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.00016868299999828196}}, {"call": {"outcome": "passed", "duration": 0.0003957449999916207}, "setup": {"outcome": "passed", "duration": 0.0003055079999967347}, "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.0001607490000026246}}, {"call": {"outcome": "passed", "duration": 0.0020275779999963106}, "setup": {"outcome": "passed", "duration": 0.00030685999999491287}, "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.0001651770000137276}}, {"call": {"outcome": "passed", "duration": 0.00026190600001996245}, "setup": {"outcome": "passed", "duration": 0.0003027529999997114}, "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.00017756999997686762}}, {"call": {"outcome": "passed", "duration": 0.00035436900000718197}, "setup": {"outcome": "passed", "duration": 0.00029099099998575184}, "lineno": 1316, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_change_time_attr_raises_warning", "outcome": "passed", "keywords": ["test_change_time_attr_raises_warning", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015626999999085456}}, {"call": {"outcome": "passed", "duration": 0.00025944200001504214}, "setup": {"outcome": "passed", "duration": 0.000299306000016486}, "lineno": 1331, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_change_precision_raises_warning", "outcome": "passed", "keywords": ["test_change_precision_raises_warning", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001643359999832228}}, {"call": {"outcome": "passed", "duration": 0.00030256200000167155}, "setup": {"outcome": "passed", "duration": 0.00027696499998342006}, "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.00015602999999941858}}, {"call": {"outcome": "passed", "duration": 0.0011063150000154565}, "setup": {"outcome": "passed", "duration": 0.0002772859999993216}, "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.0001602579999939735}}, {"call": {"outcome": "passed", "duration": 0.00030582799999478993}, "setup": {"outcome": "passed", "duration": 0.00036579999999730717}, "lineno": 1395, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_replace_with_julday_and_month_raises", "outcome": "passed", "keywords": ["test_replace_with_julday_and_month_raises", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017319200000542878}}, {"call": {"outcome": "passed", "duration": 0.0006551670000192189}, "setup": {"outcome": "passed", "duration": 0.0002795489999982692}, "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.00015803299999106457}}, {"call": {"outcome": "passed", "duration": 0.0013758169999960046}, "setup": {"outcome": "passed", "duration": 0.00028226400002040464}, "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.00017097799999987728}}, {"call": {"outcome": "passed", "duration": 0.0006267850000085673}, "setup": {"outcome": "passed", "duration": 0.0003009990000180096}, "lineno": 1448, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_hour_minute_second_overflow_with_replace", "outcome": "passed", "keywords": ["test_hour_minute_second_overflow_with_replace", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000178121000004694}}, {"call": {"outcome": "passed", "duration": 0.0003032140000129857}, "setup": {"outcome": "passed", "duration": 0.0002838370000119994}, "lineno": 1457, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_strftime_with_years_less_than_1900", "outcome": "passed", "keywords": ["test_strftime_with_years_less_than_1900", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001583240000115893}}, {"call": {"outcome": "passed", "duration": 0.005771895999998833}, "setup": {"outcome": "passed", "duration": 0.0003124700000114444}, "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.0001615200000060213}}, {"call": {"outcome": "passed", "duration": 0.0005936729999973522}, "setup": {"outcome": "passed", "duration": 0.00031501500001240856}, "lineno": 1478, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_leap_years", "outcome": "passed", "keywords": ["test_leap_years", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015963700002430414}}, {"call": {"outcome": "passed", "duration": 0.0006726199999889104}, "setup": {"outcome": "passed", "duration": 0.00028533000002539666}, "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.00016020800001115276}}, {"call": {"outcome": "passed", "duration": 0.0004594940000117731}, "setup": {"outcome": "passed", "duration": 0.0003981600000031449}, "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.00018004499997914536}}, {"call": {"outcome": "passed", "duration": 0.00038383300000077725}, "setup": {"outcome": "passed", "duration": 0.0003903950000108125}, "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.00019239699997797288}}, {"call": {"outcome": "passed", "duration": 0.00039899099999729515}, "setup": {"outcome": "passed", "duration": 0.0003906660000154716}, "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.0001773889999867606}}, {"call": {"outcome": "passed", "duration": 0.0003911059999950339}, "setup": {"outcome": "passed", "duration": 0.0003696869999885166}, "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.00017629800001373042}}, {"call": {"outcome": "passed", "duration": 0.0003721719999987272}, "setup": {"outcome": "passed", "duration": 0.00040184700000622797}, "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.00017690900000388865}}, {"call": {"outcome": "passed", "duration": 0.000369756999987203}, "setup": {"outcome": "passed", "duration": 0.00037736099997687234}, "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.00017529500001955967}}, {"call": {"outcome": "passed", "duration": 0.0003881109999781529}, "setup": {"outcome": "passed", "duration": 0.00036808400000154506}, "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.0001743639999745028}}, {"call": {"outcome": "passed", "duration": 0.0003745360000095843}, "setup": {"outcome": "passed", "duration": 0.0004231259999869508}, "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.00019969100000594153}}, {"call": {"outcome": "passed", "duration": 0.0003898740000067846}, "setup": {"outcome": "passed", "duration": 0.0003806480000037027}, "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.00017315200000211917}}, {"call": {"outcome": "passed", "duration": 0.00036311499999897023}, "setup": {"outcome": "passed", "duration": 0.00037174099998082966}, "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.00017501499999639236}}, {"call": {"outcome": "passed", "duration": 0.00037120000001777953}, "setup": {"outcome": "passed", "duration": 0.0003882919999966816}, "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.00017433400000754773}}, {"call": {"outcome": "passed", "duration": 0.00039139700001555866}, "setup": {"outcome": "passed", "duration": 0.0003685849999897073}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path11]", "outcome": "passed", "keywords": ["test_read_old_pickles[path11]", "parametrize", "pytestmark", "path11", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017542599999842423}}, {"call": {"outcome": "passed", "duration": 0.00036930699999970784}, "setup": {"outcome": "passed", "duration": 0.00039026600001079714}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path12]", "outcome": "passed", "keywords": ["test_read_old_pickles[path12]", "parametrize", "pytestmark", "path12", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019874000000186243}}, {"call": {"outcome": "passed", "duration": 0.00037563799997997194}, "setup": {"outcome": "passed", "duration": 0.0003677130000028228}, "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.00017214999999737302}}, {"call": {"outcome": "passed", "duration": 0.0003681739999876754}, "setup": {"outcome": "passed", "duration": 0.0003658489999907033}, "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.00017424399999299567}}, {"call": {"outcome": "passed", "duration": 0.00036193299999354167}, "setup": {"outcome": "passed", "duration": 0.00038137900000378977}, "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.00017380299999558702}}, {"call": {"outcome": "passed", "duration": 0.0003838539999776458}, "setup": {"outcome": "passed", "duration": 0.0003665410000053271}, "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.00017385300000682946}}, {"call": {"outcome": "passed", "duration": 0.0003725919999908456}, "setup": {"outcome": "passed", "duration": 0.00039868100000717277}, "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.00019358899999133428}}, {"call": {"outcome": "passed", "duration": 0.000371059999991985}, "setup": {"outcome": "passed", "duration": 0.0004264020000164237}, "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.00017403299997909016}}, {"call": {"outcome": "passed", "duration": 0.00039076600000953476}, "setup": {"outcome": "passed", "duration": 0.0003699170000004415}, "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.00017658800001640884}}, {"call": {"outcome": "passed", "duration": 0.0003671519999954853}, "setup": {"outcome": "passed", "duration": 0.00038732000001573397}, "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.00019198600000436272}}, {"call": {"outcome": "passed", "duration": 0.00038688999998726104}, "setup": {"outcome": "passed", "duration": 0.00036801400000285867}, "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.00017124799998669005}}, {"call": {"outcome": "passed", "duration": 0.00036322500000096625}, "setup": {"outcome": "passed", "duration": 0.00038650800001960306}, "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.0001734820000081072}}, {"call": {"outcome": "passed", "duration": 0.00036498800000117626}, "setup": {"outcome": "passed", "duration": 0.00035966900000516944}, "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.00017326200000411518}}, {"call": {"outcome": "passed", "duration": 0.00039240899999981593}, "setup": {"outcome": "passed", "duration": 0.0003641270000116492}, "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.00017663799999922958}}, {"call": {"outcome": "passed", "duration": 0.00036660199998550524}, "setup": {"outcome": "passed", "duration": 0.00038136899999585694}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path25]", "outcome": "passed", "keywords": ["test_read_old_pickles[path25]", "parametrize", "pytestmark", "path25", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017402299999957904}}, {"call": {"outcome": "passed", "duration": 0.00038453400000548754}, "setup": {"outcome": "passed", "duration": 0.0003669319999914933}, "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.00017514500001425404}}, {"call": {"outcome": "passed", "duration": 0.00036622099997885016}, "setup": {"outcome": "passed", "duration": 0.00038809200000855526}, "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.00019360999999662454}}, {"call": {"outcome": "passed", "duration": 0.00037125000000060027}, "setup": {"outcome": "passed", "duration": 0.0003757379999740351}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path28]", "outcome": "passed", "keywords": ["test_read_old_pickles[path28]", "parametrize", "pytestmark", "path28", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001743239999996149}}, {"call": {"outcome": "passed", "duration": 0.0003875509999886617}, "setup": {"outcome": "passed", "duration": 0.0003649680000137323}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path29]", "outcome": "passed", "keywords": ["test_read_old_pickles[path29]", "parametrize", "pytestmark", "path29", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001730920000113656}}, {"call": {"outcome": "passed", "duration": 0.00036273399999231515}, "setup": {"outcome": "passed", "duration": 0.0003775219999795354}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path30]", "outcome": "passed", "keywords": ["test_read_old_pickles[path30]", "parametrize", "pytestmark", "path30", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017507499998714593}}, {"call": {"outcome": "passed", "duration": 0.00039283000000978063}, "setup": {"outcome": "passed", "duration": 0.00037142099998277445}, "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.00017598700000576173}}, {"call": {"outcome": "passed", "duration": 0.0003689060000056088}, "setup": {"outcome": "passed", "duration": 0.0003857460000062929}, "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.00017869199999154262}}, {"call": {"outcome": "passed", "duration": 0.0003700379999997949}, "setup": {"outcome": "passed", "duration": 0.0003658799999755047}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path33]", "outcome": "passed", "keywords": ["test_read_old_pickles[path33]", "parametrize", "pytestmark", "path33", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000172570999978916}}, {"call": {"outcome": "passed", "duration": 0.0003863889999990988}, "setup": {"outcome": "passed", "duration": 0.00036582000001317283}, "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.00017356300000415104}}, {"call": {"outcome": "passed", "duration": 0.00036012900000059744}, "setup": {"outcome": "passed", "duration": 0.00038083800001231793}, "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.00017389300001013908}}, {"call": {"outcome": "passed", "duration": 0.0003856069999983447}, "setup": {"outcome": "passed", "duration": 0.00036248399999294634}, "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.00017454500002145323}}, {"call": {"outcome": "passed", "duration": 0.0003621830000213322}, "setup": {"outcome": "passed", "duration": 0.0003867690000163293}, "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.00019159600000762111}}, {"call": {"outcome": "passed", "duration": 0.00037092999997412335}, "setup": {"outcome": "passed", "duration": 0.00036417699999446995}, "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.00023570800001948555}}, {"call": {"outcome": "passed", "duration": 0.0003865279999786253}, "setup": {"outcome": "passed", "duration": 0.00036601100001121267}, "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.0001746739999930469}}, {"call": {"outcome": "passed", "duration": 0.00036400600001229577}, "setup": {"outcome": "passed", "duration": 0.0003930610000111301}, "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.0001943709999920884}}, {"call": {"outcome": "passed", "duration": 0.0003921089999892047}, "setup": {"outcome": "passed", "duration": 0.00036599999998543353}, "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.00017340200000148798}}, {"call": {"outcome": "passed", "duration": 0.00036484800000380346}, "setup": {"outcome": "passed", "duration": 0.0003680540000061683}, "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.0001759769999978289}}, {"call": {"outcome": "passed", "duration": 0.000368235000024697}, "setup": {"outcome": "passed", "duration": 0.00036414699999909317}, "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.0001745040000002973}}, {"call": {"outcome": "passed", "duration": 0.0004286869999816645}, "setup": {"outcome": "passed", "duration": 0.0004207420000170714}, "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.0001772089999860782}}, {"call": {"outcome": "passed", "duration": 0.0003704979999952229}, "setup": {"outcome": "passed", "duration": 0.0003931610000051933}, "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.000183610999982875}}, {"call": {"outcome": "passed", "duration": 0.00036972699999182623}, "setup": {"outcome": "passed", "duration": 0.0003663000000244665}, "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.00017489500001488523}}, {"call": {"outcome": "passed", "duration": 0.0003851849999989554}, "setup": {"outcome": "passed", "duration": 0.0003718309999953817}, "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.00017410300000619827}}, {"call": {"outcome": "passed", "duration": 0.00036846500000820015}, "setup": {"outcome": "passed", "duration": 0.0003930700000012166}, "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.0001928190000057839}}, {"call": {"outcome": "passed", "duration": 0.00038928300000407035}, "setup": {"outcome": "passed", "duration": 0.00036248400002136805}, "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.0001865969999812478}}, {"call": {"outcome": "passed", "duration": 0.00036919600000828723}, "setup": {"outcome": "passed", "duration": 0.0003954949999922519}, "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.00017831099998488753}}, {"call": {"outcome": "passed", "duration": 0.00036635099999671183}, "setup": {"outcome": "passed", "duration": 0.0003663310000092679}, "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.00017328199999155913}}, {"call": {"outcome": "passed", "duration": 0.00038580700001489276}, "setup": {"outcome": "passed", "duration": 0.00036529900000914495}, "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.00017321200002129444}}, {"call": {"outcome": "passed", "duration": 0.00036945599998716716}, "setup": {"outcome": "passed", "duration": 0.0003833629999974164}, "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.00019441099999539802}}, {"call": {"outcome": "passed", "duration": 0.00041415000001165936}, "setup": {"outcome": "passed", "duration": 0.0003660200000012992}, "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.00017578700001763536}}, {"call": {"outcome": "passed", "duration": 0.00037649000000783417}, "setup": {"outcome": "passed", "duration": 0.0003904560000194124}, "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.00017831200000273384}}, {"call": {"outcome": "passed", "duration": 0.00037620899999524227}, "setup": {"outcome": "passed", "duration": 0.00036622100000727187}, "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.00017382300001145268}}, {"call": {"outcome": "passed", "duration": 0.00038102799999251147}, "setup": {"outcome": "passed", "duration": 0.0003626740000015616}, "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.0001736529999902814}}, {"call": {"outcome": "passed", "duration": 0.000365920000007236}, "setup": {"outcome": "passed", "duration": 0.00038970399998561334}, "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.0001952130000120178}}, {"call": {"outcome": "passed", "duration": 0.0003966170000069269}, "setup": {"outcome": "passed", "duration": 0.00036832499998240564}, "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.00017662799999129675}}, {"call": {"outcome": "passed", "duration": 0.00036993800000573174}, "setup": {"outcome": "passed", "duration": 0.00036821399999098503}, "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.00017398299999626943}}, {"call": {"outcome": "passed", "duration": 0.0003733640000120886}, "setup": {"outcome": "passed", "duration": 0.00036567900002637543}, "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.00017325199999618235}}, {"call": {"outcome": "passed", "duration": 0.0003830720000053134}, "setup": {"outcome": "passed", "duration": 0.00036533899998403285}, "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.00018101599999909013}}, {"call": {"outcome": "passed", "duration": 0.00036807400002203394}, "setup": {"outcome": "passed", "duration": 0.00038538599997650635}, "lineno": 1526, "nodeid": "core/tests/test_utcdatetime.py::TestUTCDateTime::test_read_old_pickles[path63]", "outcome": "passed", "keywords": ["test_read_old_pickles[path63]", "parametrize", "pytestmark", "path63", "filterwarnings", "TestUTCDateTime", "test_utcdatetime.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019447199997557618}}, {"call": {"outcome": "passed", "duration": 0.0003934209999840732}, "setup": {"outcome": "passed", "duration": 0.00037113999999860425}, "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.00017985399998110552}}, {"call": {"outcome": "passed", "duration": 0.000376960000011195}, "setup": {"outcome": "passed", "duration": 0.00037286200000608005}, "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.00017799099998683232}}, {"call": {"outcome": "passed", "duration": 0.0003657689999840841}, "setup": {"outcome": "passed", "duration": 0.00038653799998655813}, "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.00017593699999451928}}, {"call": {"outcome": "passed", "duration": 0.000389724000001479}, "setup": {"outcome": "passed", "duration": 0.00036958600000502884}, "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.00018709799999783172}}, {"call": {"outcome": "passed", "duration": 0.0003769300000158182}, "setup": {"outcome": "passed", "duration": 0.00039442199999939476}, "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.00021291599998107813}}, {"call": {"outcome": "passed", "duration": 0.00036431700002026446}, "setup": {"outcome": "passed", "duration": 0.0003739640000048894}, "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.00017420399998968605}}, {"call": {"outcome": "passed", "duration": 0.0003871290000176941}, "setup": {"outcome": "passed", "duration": 0.00043380599998954494}, "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.0001708769999879678}}, {"call": {"outcome": "passed", "duration": 0.0003686649999963265}, "setup": {"outcome": "passed", "duration": 0.00038716999998200663}, "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.0001913849999937156}}, {"call": {"outcome": "passed", "duration": 0.00039111700002081307}, "setup": {"outcome": "passed", "duration": 0.00036368599998581885}, "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.00017237099999078964}}, {"call": {"outcome": "passed", "duration": 0.00037202100000399696}, "setup": {"outcome": "passed", "duration": 0.0003880109999840897}, "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.0001770990000125039}}, {"call": {"outcome": "passed", "duration": 0.00036910599999373517}, "setup": {"outcome": "passed", "duration": 0.0003642270000057124}, "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.0001711580000005597}}, {"call": {"outcome": "passed", "duration": 0.000388782999976911}, "setup": {"outcome": "passed", "duration": 0.0003646479999872554}, "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.00018615499999441454}}, {"call": {"outcome": "passed", "duration": 0.0003657489999966401}, "setup": {"outcome": "passed", "duration": 0.00039026499999295083}, "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.0001959150000061527}}, {"call": {"outcome": "passed", "duration": 0.00038706899999851885}, "setup": {"outcome": "passed", "duration": 0.00035728399998902205}, "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.00017693899999926543}}, {"call": {"outcome": "passed", "duration": 0.0003653589999998985}, "setup": {"outcome": "passed", "duration": 0.00038704000002098837}, "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.0001724610000053417}}, {"call": {"outcome": "passed", "duration": 0.000372421999998096}, "setup": {"outcome": "passed", "duration": 0.0003585260000136259}, "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.00017166899999665475}}, {"call": {"outcome": "passed", "duration": 0.0003830009999887807}, "setup": {"outcome": "passed", "duration": 0.00036297500000159744}, "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.00017340200000148798}}, {"call": {"outcome": "passed", "duration": 0.00036160199999812903}, "setup": {"outcome": "passed", "duration": 0.00038185900001508344}, "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.00017335199999024553}}, {"call": {"outcome": "passed", "duration": 0.00038383300000077725}, "setup": {"outcome": "passed", "duration": 0.0003704089999985172}, "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.00017321199999287273}}, {"call": {"outcome": "passed", "duration": 0.00036698200000273573}, "setup": {"outcome": "passed", "duration": 0.0003827910000211432}, "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.00018217900000649934}}, {"call": {"outcome": "passed", "duration": 0.00031944400001293616}, "setup": {"outcome": "passed", "duration": 0.00045487500000263026}, "lineno": 17, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_pop", "outcome": "passed", "keywords": ["test_pop", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001635240000155136}}, {"call": {"outcome": "passed", "duration": 0.0003036439999846152}, "setup": {"outcome": "passed", "duration": 0.0002809819999924912}, "lineno": 37, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_popitem", "outcome": "passed", "keywords": ["test_popitem", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015351499999383122}}, {"call": {"outcome": "passed", "duration": 0.00026102500001456974}, "setup": {"outcome": "passed", "duration": 0.0003031829999997626}, "lineno": 53, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_delete", "outcome": "passed", "keywords": ["test_delete", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016362399998115507}}, {"call": {"outcome": "passed", "duration": 0.0002453959999968447}, "setup": {"outcome": "passed", "duration": 0.00027881799999818213}, "lineno": 74, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_init", "outcome": "passed", "keywords": ["test_init", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016476600001169572}}, {"call": {"outcome": "passed", "duration": 0.00034160499998847627}, "setup": {"outcome": "passed", "duration": 0.00027192499999273423}, "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.00015347500001894332}}, {"call": {"outcome": "passed", "duration": 0.000338037999995322}, "setup": {"outcome": "passed", "duration": 0.000271604999994679}, "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.00015338500000439126}}, {"call": {"outcome": "passed", "duration": 0.0005887540000060199}, "setup": {"outcome": "passed", "duration": 0.0002747899999917536}, "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.00015739299999495415}}, {"call": {"outcome": "passed", "duration": 0.0002639310000063233}, "setup": {"outcome": "passed", "duration": 0.00027607300000909163}, "lineno": 190, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_clear", "outcome": "passed", "keywords": ["test_clear", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015409699997803727}}, {"call": {"outcome": "passed", "duration": 0.0003253040000004148}, "setup": {"outcome": "passed", "duration": 0.00027006199999846103}, "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.0001550480000105381}}, {"call": {"outcome": "passed", "duration": 0.000592340999986618}, "setup": {"outcome": "passed", "duration": 0.00029503799999019975}, "lineno": 227, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_defaults", "outcome": "passed", "keywords": ["test_defaults", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015806299998644135}}, {"call": {"outcome": "passed", "duration": 0.0002998270000205139}, "setup": {"outcome": "passed", "duration": 0.00028480899999294707}, "lineno": 251, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_set_readonly", "outcome": "passed", "keywords": ["test_set_readonly", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015661099999420003}}, {"call": {"outcome": "passed", "duration": 0.0003704490000018268}, "setup": {"outcome": "passed", "duration": 0.00028723399998398236}, "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.00016150999999808846}}, {"call": {"outcome": "passed", "duration": 0.000280351000014889}, "setup": {"outcome": "passed", "duration": 0.00028030999999373307}, "lineno": 279, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_compare_with_dict", "outcome": "passed", "keywords": ["test_compare_with_dict", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016435599999908845}}, {"call": {"outcome": "passed", "duration": 0.0003064890000246123}, "setup": {"outcome": "passed", "duration": 0.000292562999987922}, "lineno": 288, "nodeid": "core/tests/test_util_attribdict.py::TestAttribDict::test_pretty_str", "outcome": "passed", "keywords": ["test_pretty_str", "filterwarnings", "TestAttribDict", "test_util_attribdict.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001604679999900327}}, {"call": {"outcome": "passed", "duration": 0.0003742160000115291}, "setup": {"outcome": "passed", "duration": 0.00027643399999988105}, "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.00016650899999604007}}, {"call": {"outcome": "passed", "duration": 0.0016034799999999905}, "setup": {"outcome": "passed", "duration": 0.00042441900001222166}, "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.00016589800000588184}}, {"call": {"outcome": "passed", "duration": 0.0007647209999959159}, "setup": {"outcome": "passed", "duration": 0.0002951890000133517}, "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.00016579799998339695}}, {"call": {"outcome": "passed", "duration": 0.00818517100000804}, "setup": {"outcome": "passed", "duration": 0.00029943599997750425}, "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.00021164300000009462}}, {"call": {"outcome": "passed", "duration": 0.0007912400000122943}, "setup": {"outcome": "passed", "duration": 0.00035105300000282114}, "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.00017209999998613057}}, {"call": {"outcome": "passed", "duration": 0.0008593670000038856}, "setup": {"outcome": "passed", "duration": 0.000319564000022865}, "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.00016938499999241685}}, {"call": {"outcome": "passed", "duration": 0.0002874539999879744}, "setup": {"outcome": "passed", "duration": 0.00031697900001859125}, "lineno": 103, "nodeid": "core/tests/test_util_base.py::TestUtilBase::test_comparing_object_eq", "outcome": "passed", "keywords": ["test_comparing_object_eq", "filterwarnings", "TestUtilBase", "test_util_base.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016323300002341057}}, {"call": {"outcome": "passed", "duration": 0.005125074000005725}, "setup": {"outcome": "passed", "duration": 0.00044610899999497633}, "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.00017403300000751187}}, {"call": {"outcome": "passed", "duration": 0.00031862300002671873}, "setup": {"outcome": "passed", "duration": 0.00042164399999933266}, "lineno": 20, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_supress_output", "outcome": "passed", "keywords": ["test_supress_output", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016460599999845726}}, {"call": {"outcome": "passed", "duration": 0.00035387799999853087}, "setup": {"outcome": "passed", "duration": 0.00028667299997664486}, "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.000159625999998525}}, {"call": {"outcome": "passed", "duration": 0.0002706829999965521}, "setup": {"outcome": "passed", "duration": 0.00027538199998389246}, "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.00015823400002545895}}, {"call": {"outcome": "passed", "duration": 0.000405263000004652}, "setup": {"outcome": "passed", "duration": 0.000278348000023243}, "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.00017824099998620113}}, {"call": {"outcome": "passed", "duration": 0.00046739900000147827}, "setup": {"outcome": "passed", "duration": 0.0002946669999914775}, "lineno": 76, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_no_obspy_imports", "outcome": "passed", "keywords": ["test_no_obspy_imports", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015970699999456883}}, {"call": {"outcome": "passed", "duration": 0.0004988770000124987}, "setup": {"outcome": "passed", "duration": 0.0002784270000120159}, "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.00015569900000400594}}, {"call": {"outcome": "passed", "duration": 0.0003720009999881313}, "setup": {"outcome": "passed", "duration": 0.00032390200001941594}, "lineno": 116, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_2", "outcome": "passed", "keywords": ["test_get_window_times_2", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015711200001078396}}, {"call": {"outcome": "passed", "duration": 0.00038059799999246025}, "setup": {"outcome": "passed", "duration": 0.0002768340000045555}, "lineno": 134, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_3", "outcome": "passed", "keywords": ["test_get_window_times_3", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001595870000130617}}, {"call": {"outcome": "passed", "duration": 0.00030952500000580585}, "setup": {"outcome": "passed", "duration": 0.0002955790000100933}, "lineno": 151, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_4", "outcome": "passed", "keywords": ["test_get_window_times_4", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015404600000579194}}, {"call": {"outcome": "passed", "duration": 0.0003787639999757175}, "setup": {"outcome": "passed", "duration": 0.00028445899999951507}, "lineno": 166, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_5", "outcome": "passed", "keywords": ["test_get_window_times_5", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000158635000019558}}, {"call": {"outcome": "passed", "duration": 0.0004485339999860116}, "setup": {"outcome": "passed", "duration": 0.0002738089999922977}, "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.0001544870000032006}}, {"call": {"outcome": "passed", "duration": 0.0003049069999860876}, "setup": {"outcome": "passed", "duration": 0.00027372899998567846}, "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.00015345599999250226}}, {"call": {"outcome": "passed", "duration": 0.00034979000000134874}, "setup": {"outcome": "passed", "duration": 0.00026750699998956406}, "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.00015425699999127573}}, {"call": {"outcome": "passed", "duration": 0.0004936880000059318}, "setup": {"outcome": "passed", "duration": 0.00027220500001590153}, "lineno": 233, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_get_window_times_9", "outcome": "passed", "keywords": ["test_get_window_times_9", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001536460000011175}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029220199999997476, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_misc.py\", line 270, in test_entry_point_buffer\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00026968100002022766}, "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.00018064599998979247}}, {"call": {"outcome": "passed", "duration": 0.000563196999991078}, "setup": {"outcome": "passed", "duration": 0.0002957500000206892}, "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.00016009800000915675}}, {"call": {"outcome": "passed", "duration": 0.00025635700001203077}, "setup": {"outcome": "passed", "duration": 0.00030674999999291686}, "lineno": 308, "nodeid": "core/tests/test_util_misc.py::TestUtilMisc::test_warning_capture", "outcome": "passed", "keywords": ["test_warning_capture", "filterwarnings", "TestUtilMisc", "test_util_misc.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016876399999432579}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021788190000222585, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 21, in test_identical_traces\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004300889999910851}, "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.0001995709999960127}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024272910000036063, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 31, in test_slightly_modified_data\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029873500000121567}, "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.00019316899999921588}}, {"call": {"outcome": "passed", "duration": 0.000525636999981316}, "setup": {"outcome": "passed", "duration": 0.00032837000000540684}, "lineno": 35, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_empty_traces", "outcome": "passed", "keywords": ["test_empty_traces", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016974499999378168}}, {"call": {"outcome": "passed", "duration": 0.0005998750000060227}, "setup": {"outcome": "passed", "duration": 0.00029915599998275866}, "lineno": 42, "nodeid": "core/tests/test_util_testing.py::TestAlmostEqual::test_different_stats_no_processing", "outcome": "passed", "keywords": ["test_different_stats_no_processing", "filterwarnings", "TestAlmostEqual", "test_util_testing.py", "tests", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016557800000782663}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002221880000007559, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 58, in test_processing\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003150550000157182}, "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.00019709600002215666}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021178050000116855, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 71, in test_nan\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003022310000062589}, "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.00020148500001937464}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021527310000237776, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 80, in test_unequal_trace_lengths\n    tr1, tr2 = read()[0], read()[0]\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031026700000325036}, "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.00018207799999458985}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020984290000001238, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 88, in test_not_a_trace\n    tr1 = read()[0]\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003031340000063665}, "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.00018003400001020964}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002334348000005093, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_util_testing.py\", line 99, in test_stream_almost_equal\n    st1, st2 = read(), read()\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029711199999837845}, "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.0002140580000116188}}, {"call": {"outcome": "passed", "duration": 0.0005837649999875794}, "setup": {"outcome": "passed", "duration": 0.0004656950000025972}, "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.00016400500001623186}}, {"call": {"outcome": "passed", "duration": 0.0007019249999871136}, "setup": {"outcome": "passed", "duration": 0.00028751400000714966}, "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.00016267200001607307}}, {"call": {"outcome": "passed", "duration": 0.0003140739999878406}, "setup": {"outcome": "passed", "duration": 0.0002882349999993039}, "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.00016002799998204864}}, {"call": {"outcome": "passed", "duration": 0.00034684400000628557}, "setup": {"outcome": "passed", "duration": 0.00029798300002426004}, "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.0001810059999911573}}, {"call": {"outcome": "passed", "duration": 0.6834174699999949}, "setup": {"outcome": "passed", "duration": 0.0004337160000034146}, "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.00026211700000544624}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.5098518819999924, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 109, in test_read_and_write\n    st = read(outfile)\n         ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004116349999776503}, "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.0002731779999862738}}, {"call": {"outcome": "passed", "duration": 1.0516605839999897}, "setup": {"outcome": "passed", "duration": 0.0004863629999931618}, "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.00024559599998497106}}, {"call": {"outcome": "passed", "duration": 5.355626296000025}, "setup": {"outcome": "passed", "duration": 0.0003970090000109394}, "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.00023343399999475878}}, {"call": {"outcome": "passed", "duration": 0.7235636419999878}, "setup": {"outcome": "passed", "duration": 0.00041027299999996103}, "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.00024150899997721353}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001231791999998677, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 397, in test_read_gzip2_file\n    st1 = read(ascii_path / 'tspair.ascii.gz')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005267100000025948}, "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.00021473900000046342}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001295420000019476, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 405, in test_read_bzip2_file\n    st1 = read(ascii_path / 'slist.ascii.bz2')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034677499999702377}, "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.00019955100000856874}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012898800000016308, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 414, in test_read_tar_archive\n    st1 = read(datapath / \"test.tar\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005229030000180046}, "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.000195603999998184}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001142186000009815, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 434, in test_read_zip_archive\n    st1 = read(datapath / 'test.zip')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003557610000086697}, "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.00018113699999844357}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000935170999980528, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 448, in test_raise_on_unknown_format\n    read(tmpfile)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033041499997921164}, "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.00018125700000837242}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.8007916910000006, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 464, in test_deepcopy\n    stream_orig = read()\n                  ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003073219999976118}, "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.00025980299997740985}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.3398892109999849, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 509, in test_auto_file_format_during_writing\n    stream_trace = [read(), read()[0]]\n                    ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003658400000006168}, "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.00027393999999958396}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014395059999969817, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/tests/test_waveform_plugins.py\", line 556, in test_reading_tarfile_impostor\n    st = read(\"/path/to/tarfile_impostor.mseed\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037324400000215974}, "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.000201575000005505}}, {"call": {"outcome": "passed", "duration": 0.012571684000022287}, "setup": {"outcome": "passed", "duration": 0.00031332199998246324}, "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.00023455699999885837}}, {"call": {"outcome": "passed", "duration": 0.004795775999980378}, "setup": {"outcome": "passed", "duration": 0.0004470920000017031}, "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.0001870170000017879}}, {"call": {"outcome": "passed", "duration": 0.002913626999998087}, "setup": {"outcome": "passed", "duration": 0.00035221500002080575}, "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.00017804099999807477}}, {"call": {"outcome": "failed", "duration": 0.00583401699998376, "longrepr": "569 \n570         :type num: int\n571         :param num: Number of samples in each trace in returned Stream. Last\n572             trace may contain lesser samples.\n573         :returns: New ObsPy Stream object.\n574 \n575         .. rubric:: Example\n576 \n577         >>> from obspy import read\n578         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__mod__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:578: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003408440000214341}, "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.0001799540000035904}}, {"call": {"outcome": "failed", "duration": 0.0057712300000218875, "longrepr": "500         Create a new Stream containing num copies of this trace.\n501 \n502         :type num: int\n503         :param num: Number of copies.\n504         :returns: New ObsPy Stream object.\n505 \n506         .. rubric:: Example\n507 \n508         >>> from obspy import read\n509         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__mul__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:509: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003286310000021331}, "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.00017882199998098258}}, {"call": {"outcome": "passed", "duration": 0.002883210999982566}, "setup": {"outcome": "passed", "duration": 0.0003252239999937956}, "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.00017655900001045666}}, {"call": {"outcome": "failed", "duration": 0.005925005999984023, "longrepr": "525 \n526         :type num: int\n527         :param num: Number of traces in returned Stream. Last trace may contain\n528             lesser samples.\n529         :returns: New ObsPy Stream object.\n530 \n531         .. rubric:: Example\n532 \n533         >>> from obspy import read\n534         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.__truediv__[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:534: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031871199999500277}, "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.00019731599999772698}}, {"call": {"outcome": "passed", "duration": 0.003175634000001537}, "setup": {"outcome": "passed", "duration": 0.0003219180000257893}, "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.0001791440000147304}}, {"call": {"outcome": "passed", "duration": 0.0030348420000052556}, "setup": {"outcome": "passed", "duration": 0.0003409539999950084}, "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.00017867200000409866}}, {"call": {"outcome": "passed", "duration": 0.0030756079999889607}, "setup": {"outcome": "passed", "duration": 0.0003156559999979436}, "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.00017747000001122615}}, {"call": {"outcome": "passed", "duration": 0.0031508190000124614}, "setup": {"outcome": "passed", "duration": 0.0003183620000015708}, "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.00017937300000880896}}, {"call": {"outcome": "failed", "duration": 0.005504865999995445, "longrepr": "2025             Subtracts a spline of a given order with a given number of\n2026             samples between spline nodes.\n2027             (uses :func:`obspy.signal.detrend.spline`).\n2028 \n2029         .. rubric:: Example\n2030 \n2031         Apply a third order spline detrend with 500 samples between nodes.\n2032 \n2033         >>> from obspy import read\n2034         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.detrend[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2034: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00030909500000575463}, "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.0001970060000076046}}, {"call": {"outcome": "failed", "duration": 0.006321874000008165, "longrepr": "1527             FIR-Lowpass (uses :func:`obspy.signal.filter.lowpass_fir`).\n1528 \n1529         ``'remez_fir'`` (experimental)\n1530             Minimax optimal bandpass using Remez algorithm (uses\n1531             :func:`obspy.signal.filter.remez_fir`).\n1532 \n1533         .. rubric:: Example\n1534 \n1535         >>> from obspy import read\n1536         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.filter[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1536: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003156569999873682}, "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.00017824099998620113}}, {"call": {"outcome": "passed", "duration": 0.0036046219999832374}, "setup": {"outcome": "passed", "duration": 0.0005898260000094524}, "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.00018524399999364505}}, {"call": {"outcome": "passed", "duration": 0.0026841009999998278}, "setup": {"outcome": "passed", "duration": 0.00039456300001461386}, "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.00016861299999959556}}, {"call": {"outcome": "failed", "duration": 0.005643182000000024, "longrepr": "2443         .. rubric:: _`New in version 0.11:`\n2444 \n2445         * New parameter ``time_shift``.\n2446         * New interpolation method ``lanczos``.\n2447 \n2448 \n2449         .. rubric:: _`Usage Examples`\n2450 \n2451         >>> from obspy import read\n2452         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.interpolate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2452: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031602699999666584}, "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.00017645799999854717}}, {"call": {"outcome": "passed", "duration": 0.0028835720000017773}, "setup": {"outcome": "passed", "duration": 0.00031602800001451214}, "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.00017318200002591766}}, {"call": {"outcome": "passed", "duration": 0.0036360910000041713}, "setup": {"outcome": "passed", "duration": 0.000310417000008556}, "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.00016867299999034913}}, {"call": {"outcome": "failed", "duration": 0.005482244000006631, "longrepr": "918         Create a simple graph of the current trace.\n919 \n920         Various options are available to change the appearance of the waveform\n921         plot. Please see :meth:`~obspy.core.stream.Stream.plot` method for all\n922         possible options.\n923 \n924         .. rubric:: Example\n925 \n926         >>> from obspy import read\n927         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.plot[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:927: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003150349999998525}, "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.0001780510000060076}}, {"call": {"outcome": "failed", "duration": 0.005694908000009491, "longrepr": "2731             response provided as\n2732             a (dataless) SEED or RESP file and when using the same\n2733             ``water_level`` and ``pre_filt`` (and options ``sacsim=True`` and\n2734             ``pitsasim=False`` which influence very minor details in detrending\n2735             and tapering).\n2736 \n2737         .. rubric:: Example\n2738 \n2739         >>> from obspy import read, read_inventory\n2740         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.remove_response[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2740: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033259799999996176}, "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.000179884000004904}}, {"call": {"outcome": "failed", "duration": 0.005543416999984174, "longrepr": "3004         :type inventory: :class:`~obspy.core.inventory.inventory.Inventory`\n3005             or None.\n3006         :param inventory: Station metadata to use in search for adequate\n3007             response. If inventory parameter is not supplied, the response\n3008             has to be attached to the trace beforehand.\n3009 \n3010         .. rubric:: Example\n3011 \n3012         >>> from obspy import read, read_inventory\n3013         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.remove_sensitivity[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:3013: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003460530000154449}, "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.00017862100000343162}}, {"call": {"outcome": "passed", "duration": 0.003766062000011061}, "setup": {"outcome": "passed", "duration": 0.00031375300000036077}, "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.00017959399997380388}}, {"call": {"outcome": "failed", "duration": 0.0055303830000070775, "longrepr": "1403             original data, use :meth:`~obspy.core.trace.Trace.copy` to create\n1404             a copy of your trace object.\n1405             This also makes an entry with information on the applied processing\n1406             in ``stats.processing`` of this trace.\n1407 \n1408         .. rubric:: Example\n1409 \n1410         >>> from obspy import read\n1411         >>> from obspy.signal.invsim import corn_freq_2_paz\n1412         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.simulate[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1412: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003095159999872976}, "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.00019417100000396204}}, {"call": {"outcome": "passed", "duration": 0.003604131000003008}, "setup": {"outcome": "passed", "duration": 0.0003190429999904154}, "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.00017955300000949137}}, {"call": {"outcome": "failed", "duration": 0.005558995999990657, "longrepr": "1245         Please keep in mind that it only returns a new view of the original\n1246         data. Any modifications are applied to the original data as well. If\n1247         you don't want this you have to create a copy of the yielded\n1248         windows. Also be aware that if you modify the original data and you\n1249         have overlapping windows, all following windows are affected as well.\n1250 \n1251         .. rubric:: Example\n1252 \n1253         >>> import obspy\n1254         >>> tr = obspy.read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.slide[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1254: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003325779999840961}, "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.00017876200001865072}}, {"call": {"outcome": "failed", "duration": 0.0054153380000059315, "longrepr": "943 \n944         Create a spectrogram plot of the trace.\n945 \n946         For details on kwargs that can be used to customize the spectrogram\n947         plot see :func:`~obspy.imaging.spectrogram.spectrogram`.\n948 \n949         .. rubric:: Example\n950 \n951         >>> from obspy import read\n952         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.spectrogram[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:952: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000318092000014758}, "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.00017557600000372986}}, {"call": {"outcome": "passed", "duration": 0.002794216000012284}, "setup": {"outcome": "passed", "duration": 0.00033167600000183484}, "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.00017656899998996778}}, {"call": {"outcome": "failed", "duration": 0.0056856909999964955, "longrepr": "2542             and :func:`matplotlib.dates.date2num`, ``type=\"matplotlib\"``)\n2543 \n2544         .. note::\n2545             The option ``type=\"utcdatetime\"`` shouldn't be used for Traces with\n2546             a large sample size as it will generate an array of thousands of\n2547             :class:`UTCDateTime.timestamp <obspy.core.utcdatetime.UTCDateTime>`\n2548             objects.\n2549 \n2550         >>> from obspy import read, UTCDateTime\n2551         >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.times[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:2551: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003247029999897677}, "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.00017898299998364564}}, {"call": {"outcome": "failed", "duration": 0.0054685980000215295, "longrepr": "1615             Computes the modified energy ratio characteristic function (uses\n1616             :func:`obspy.signal.trigger.modified_energy_ratio`).\n1617 \n1618         ``'zdetect'``\n1619             Z-detector (uses :func:`obspy.signal.trigger.z_detect`).\n1620 \n1621         .. rubric:: Example\n1622 \n1623         >>> from obspy import read\n1624         >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.trace.Trace.trigger[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/trace.py:1624: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003206860000091183}, "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.00018787999999858584}}, {"call": {"outcome": "passed", "duration": 0.003304944999996451}, "setup": {"outcome": "passed", "duration": 0.0003294520000167722}, "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.00016878299999234514}}, {"call": {"outcome": "passed", "duration": 0.002919959000024619}, "setup": {"outcome": "passed", "duration": 0.0003211469999939709}, "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.0001694039999904362}}, {"call": {"outcome": "passed", "duration": 0.002554779999996981}, "setup": {"outcome": "passed", "duration": 0.0003176609999968605}, "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.00017867299999352326}}, {"call": {"outcome": "passed", "duration": 0.006526173999986895}, "setup": {"outcome": "passed", "duration": 0.0003999140000132684}, "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.00016737100000341343}}, {"call": {"outcome": "passed", "duration": 0.0026223559999891677}, "setup": {"outcome": "passed", "duration": 0.00031406400000832946}, "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.00016427500000304462}}, {"call": {"outcome": "passed", "duration": 0.0026540140000008705}, "setup": {"outcome": "passed", "duration": 0.000326777999987371}, "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.00018101700001693644}}, {"call": {"outcome": "passed", "duration": 0.002473178000002463}, "setup": {"outcome": "passed", "duration": 0.00032598600000710576}, "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.00019119599997452497}}, {"call": {"outcome": "passed", "duration": 0.0026557770000010805}, "setup": {"outcome": "passed", "duration": 0.00030798299999901246}, "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.00017336199999817836}}, {"call": {"outcome": "passed", "duration": 0.002675745000004781}, "setup": {"outcome": "passed", "duration": 0.00030341400000111207}, "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.00016389500001423585}}, {"call": {"outcome": "passed", "duration": 0.0026256619999855957}, "setup": {"outcome": "passed", "duration": 0.0003059579999842299}, "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.00016417500000898144}}, {"call": {"outcome": "passed", "duration": 0.0026153430000022126}, "setup": {"outcome": "passed", "duration": 0.00032454399999437555}, "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.00016579799998339695}}, {"call": {"outcome": "passed", "duration": 0.0026775489999977253}, "setup": {"outcome": "passed", "duration": 0.0003019510000115133}, "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.00019294800000579926}}, {"call": {"outcome": "passed", "duration": 0.0025071109999998953}, "setup": {"outcome": "passed", "duration": 0.00030822400000829475}, "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.00017276099998753125}}, {"call": {"outcome": "passed", "duration": 0.0027478089999988242}, "setup": {"outcome": "passed", "duration": 0.0005963589999851138}, "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.0001767189999952734}}, {"call": {"outcome": "passed", "duration": 0.0025692570000046544}, "setup": {"outcome": "passed", "duration": 0.00031755000000543987}, "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.00017600699999320568}}, {"call": {"outcome": "passed", "duration": 0.002552094999998644}, "setup": {"outcome": "passed", "duration": 0.0003110480000145799}, "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.0001747850000128892}}, {"call": {"outcome": "passed", "duration": 0.0025135530000000017}, "setup": {"outcome": "passed", "duration": 0.0003363360000037119}, "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.00018147700001236444}}, {"call": {"outcome": "passed", "duration": 0.0024780869999858623}, "setup": {"outcome": "passed", "duration": 0.0003060290000007626}, "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.00017540600001098028}}, {"call": {"outcome": "passed", "duration": 0.0025013009999952374}, "setup": {"outcome": "passed", "duration": 0.00030583899999214736}, "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.00017575600000441227}}, {"call": {"outcome": "passed", "duration": 0.0025957769999820357}, "setup": {"outcome": "passed", "duration": 0.0003293119999909777}, "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.00017533600001229388}}, {"call": {"outcome": "passed", "duration": 0.002486422999993465}, "setup": {"outcome": "passed", "duration": 0.000301450999984354}, "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.00017256099999940488}}, {"call": {"outcome": "passed", "duration": 0.0025025129999960427}, "setup": {"outcome": "passed", "duration": 0.00030909400001633003}, "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.00017567699998721764}}, {"call": {"outcome": "passed", "duration": 0.002508524999996098}, "setup": {"outcome": "passed", "duration": 0.00033213800000453375}, "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.00017783100000201557}}, {"call": {"outcome": "passed", "duration": 0.0024777970000116056}, "setup": {"outcome": "passed", "duration": 0.00030652999998892483}, "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.00018206900000450332}}, {"call": {"outcome": "passed", "duration": 0.0024999679999950786}, "setup": {"outcome": "passed", "duration": 0.00030038799999942967}, "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.0001778809999848363}}, {"call": {"outcome": "passed", "duration": 0.0025129129999754696}, "setup": {"outcome": "passed", "duration": 0.0003276490000132526}, "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.00017103799999063085}}, {"call": {"outcome": "passed", "duration": 0.0025177410000196687}, "setup": {"outcome": "passed", "duration": 0.0003030640000076801}, "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.0001932090000025255}}, {"call": {"outcome": "passed", "duration": 0.002576610999994955}, "setup": {"outcome": "passed", "duration": 0.0003149660000190124}, "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.0001787919999856058}}, {"call": {"outcome": "passed", "duration": 0.002554209999999557}, "setup": {"outcome": "passed", "duration": 0.0003263070000230073}, "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.00017647799998599112}}, {"call": {"outcome": "passed", "duration": 0.0024968920000105754}, "setup": {"outcome": "passed", "duration": 0.00032623599997805286}, "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.00017799099998683232}}, {"call": {"outcome": "passed", "duration": 0.0025682150000250203}, "setup": {"outcome": "passed", "duration": 0.0003166390000046704}, "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.00017230000000267864}}, {"call": {"outcome": "passed", "duration": 0.0024752930000033757}, "setup": {"outcome": "passed", "duration": 0.0003084930000056829}, "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.00017248100002120736}}, {"call": {"outcome": "passed", "duration": 0.0024895589999971435}, "setup": {"outcome": "passed", "duration": 0.00032246000000668573}, "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.00017568599997730416}}, {"call": {"outcome": "passed", "duration": 0.0025016520000065157}, "setup": {"outcome": "passed", "duration": 0.00030182099999365164}, "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.00017194000000131382}}, {"call": {"outcome": "passed", "duration": 0.0024987059999830308}, "setup": {"outcome": "passed", "duration": 0.00030571900001064023}, "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.0001754460000142899}}, {"call": {"outcome": "passed", "duration": 0.002510407999977815}, "setup": {"outcome": "passed", "duration": 0.0003238619999876846}, "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.00017363200001341283}}, {"call": {"outcome": "passed", "duration": 0.002528420999993841}, "setup": {"outcome": "passed", "duration": 0.0003065800000001673}, "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.0001719300000218027}}, {"call": {"outcome": "passed", "duration": 0.002545674000003828}, "setup": {"outcome": "passed", "duration": 0.00030558800000335395}, "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.0001705969999932222}}, {"call": {"outcome": "passed", "duration": 0.0025537390000067717}, "setup": {"outcome": "passed", "duration": 0.0003239220000068599}, "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.00017522500002087327}}, {"call": {"outcome": "passed", "duration": 0.0026523710000105893}, "setup": {"outcome": "passed", "duration": 0.00032762899999738693}, "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.00017663899998865418}}, {"call": {"outcome": "passed", "duration": 0.0025347119999992174}, "setup": {"outcome": "passed", "duration": 0.0003018719999943187}, "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.00017284199998357508}}, {"call": {"outcome": "passed", "duration": 0.0024588619999974526}, "setup": {"outcome": "passed", "duration": 0.0004150410000249849}, "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.00017368300001407988}}, {"call": {"outcome": "passed", "duration": 0.0025271589999817934}, "setup": {"outcome": "passed", "duration": 0.00032183799999074836}, "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.00017573700000639292}}, {"call": {"outcome": "passed", "duration": 0.002548087999997506}, "setup": {"outcome": "passed", "duration": 0.0003021220000221092}, "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.00018925099999478334}}, {"call": {"outcome": "passed", "duration": 0.00247127500000488}, "setup": {"outcome": "passed", "duration": 0.0003011399999763853}, "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.00017811099999676117}}, {"call": {"outcome": "passed", "duration": 0.00247303800000509}, "setup": {"outcome": "passed", "duration": 0.000322278999988157}, "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.00017216000000530585}}, {"call": {"outcome": "passed", "duration": 0.0025297939999973096}, "setup": {"outcome": "passed", "duration": 0.0003104569999834439}, "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.0001701059999845711}}, {"call": {"outcome": "passed", "duration": 0.0024755329999948117}, "setup": {"outcome": "passed", "duration": 0.00030460600001447347}, "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.00017128900000784597}}, {"call": {"outcome": "passed", "duration": 0.002474700999982815}, "setup": {"outcome": "passed", "duration": 0.0003212270000005901}, "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.00017252099999609527}}, {"call": {"outcome": "passed", "duration": 0.0024738900000045305}, "setup": {"outcome": "passed", "duration": 0.00031255099997906655}, "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.00017065699998397577}}, {"call": {"outcome": "passed", "duration": 0.002494157000000996}, "setup": {"outcome": "passed", "duration": 0.0003058780000060324}, "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.00017286100001001614}}, {"call": {"outcome": "passed", "duration": 0.002892969000015455}, "setup": {"outcome": "passed", "duration": 0.00033206699998800104}, "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.00016397400000300877}}, {"call": {"outcome": "passed", "duration": 0.0024908110000012584}, "setup": {"outcome": "passed", "duration": 0.00033107600000903403}, "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.00017494499999770596}}, {"call": {"outcome": "passed", "duration": 0.0024748010000053}, "setup": {"outcome": "passed", "duration": 0.00030682100000944956}, "lineno": 812, "nodeid": "core/utcdatetime.py::obspy.core.utcdatetime.UTCDateTime.time", "outcome": "passed", "keywords": ["obspy.core.utcdatetime.UTCDateTime.time", "filterwarnings", "utcdatetime.py", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001746050000122068}}, {"call": {"outcome": "passed", "duration": 0.002493215000015425}, "setup": {"outcome": "passed", "duration": 0.0003068600000233346}, "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.00022695199999134275}}, {"call": {"outcome": "passed", "duration": 0.0025332099999957336}, "setup": {"outcome": "passed", "duration": 0.0003097160000038457}, "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.00017468499999040432}}, {"call": {"outcome": "passed", "duration": 0.002467668000008416}, "setup": {"outcome": "passed", "duration": 0.00032279000001267377}, "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.00019342900000651753}}, {"call": {"outcome": "passed", "duration": 0.0024816439999995055}, "setup": {"outcome": "passed", "duration": 0.00030766199998311095}, "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.0001746739999930469}}, {"call": {"outcome": "passed", "duration": 0.002471624999998312}, "setup": {"outcome": "passed", "duration": 0.00032538499999645865}, "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.00017155899999465873}}, {"call": {"outcome": "passed", "duration": 0.002454384000003529}, "setup": {"outcome": "passed", "duration": 0.0003025529999831633}, "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.00017277199998488868}}, {"call": {"outcome": "passed", "duration": 0.002961326000018971}, "setup": {"outcome": "passed", "duration": 0.00030533800000398514}, "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.0003122809999922538}}, {"call": {"outcome": "passed", "duration": 0.002458630999996103}, "setup": {"outcome": "passed", "duration": 0.0007895880000035049}, "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.00019657600000755338}}, {"call": {"outcome": "passed", "duration": 0.0027266899999744965}, "setup": {"outcome": "passed", "duration": 0.00042304699999817785}, "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.00017724900001780952}}, {"call": {"outcome": "passed", "duration": 0.0025885640000069543}, "setup": {"outcome": "passed", "duration": 0.0003306849999944461}, "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.0001922969999839097}}, {"call": {"outcome": "passed", "duration": 0.0034887569999852985}, "setup": {"outcome": "passed", "duration": 0.0004001439999967715}, "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.00016779200001337813}}, {"call": {"outcome": "passed", "duration": 0.013453704999989213}, "setup": {"outcome": "passed", "duration": 0.00033783800000719566}, "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.0001986590000058186}}, {"call": {"outcome": "passed", "duration": 0.0037054899999873214}, "setup": {"outcome": "passed", "duration": 0.00032890200000679215}, "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.00018854999999007305}}, {"call": {"outcome": "passed", "duration": 0.0030795450000198343}, "setup": {"outcome": "passed", "duration": 0.00033463299999425544}, "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.00018043500000430868}}, {"call": {"outcome": "passed", "duration": 0.011792525999993586}, "setup": {"outcome": "passed", "duration": 0.00033217699998999706}, "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.00018183899999257847}}, {"call": {"outcome": "passed", "duration": 0.4307104439999989}, "setup": {"outcome": "passed", "duration": 0.00034152500001027875}, "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.00024086700000225392}}, {"call": {"outcome": "passed", "duration": 0.003443562000001066}, "setup": {"outcome": "passed", "duration": 0.0005225519999783046}, "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.00018893099999672813}}, {"call": {"outcome": "skipped", "duration": 0.0002399859999968612, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00048701500000447595}, "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.0001803749999851334}}, {"call": {"outcome": "skipped", "duration": 0.00024056800000948897, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.000327127999980803}, "lineno": 344, "nodeid": "core/util/misc.py::obspy.core.util.misc.SuppressOutput", "outcome": "skipped", "keywords": ["obspy.core.util.misc.SuppressOutput", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001645460000077037}}, {"call": {"outcome": "skipped", "duration": 0.0002033680000010918, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003412650000029771}, "lineno": 377, "nodeid": "core/util/misc.py::obspy.core.util.misc.TemporaryWorkingDirectory", "outcome": "skipped", "keywords": ["obspy.core.util.misc.TemporaryWorkingDirectory", "filterwarnings", "misc.py", "util", "core", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016174099999943792}}, {"call": {"outcome": "failed", "duration": 0.005336642999992591, "longrepr": "654         Only return objects that have attribute has_attr, if None return all.\n655 \n656     .. rubric:: General Usage\n657 \n658     Get a list of all resource_ids contained in an event, the objects they\n659     are attached to, and the attribute name on the parent object.\n660 \n661     >>> import obspy\n662     >>> from obspy.core.event import ResourceIdentifier\n663     >>> cat = obspy.read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.util.misc._yield_obj_parent_attr[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/misc.py:663: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003051869999808332}, "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.00018634599999245438}}, {"call": {"outcome": "passed", "duration": 0.002978267000003143}, "setup": {"outcome": "passed", "duration": 0.0003310360000057244}, "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.00016763100001071507}}, {"call": {"outcome": "passed", "duration": 0.003336243000006789}, "setup": {"outcome": "passed", "duration": 0.000522993000004135}, "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.0001722899999947458}}, {"call": {"outcome": "passed", "duration": 0.0027734969999926307}, "setup": {"outcome": "passed", "duration": 0.00035253500001886096}, "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.00016717100001528706}}, {"call": {"outcome": "passed", "duration": 0.0029944480000096974}, "setup": {"outcome": "passed", "duration": 0.00033346899999742163}, "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.00016839299999560353}}, {"call": {"outcome": "passed", "duration": 0.0027604329999917354}, "setup": {"outcome": "passed", "duration": 0.0003157369999939874}, "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.00016548799999327457}}, {"call": {"outcome": "passed", "duration": 0.004502371000000949}, "setup": {"outcome": "passed", "duration": 0.0004446869999981118}, "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.00016976599999907194}}, {"call": {"outcome": "passed", "duration": 0.002909388999995599}, "setup": {"outcome": "passed", "duration": 0.00032590600000048653}, "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.0001883199999781482}}, {"call": {"outcome": "passed", "duration": 0.002940858000016533}, "setup": {"outcome": "passed", "duration": 0.00031666900000004716}, "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.00016986599999313512}}, {"call": {"outcome": "failed", "duration": 0.0061252790000025925, "longrepr": "399 \n400     .. rubric:: Example\n401 \n402     1) Changes to the non-default parameters of the\n403         :class:`~obspy.core.trace.Stats` objects of the stream's contained\n404         :class:`~obspy.core.trace.Trace` objects will cause the streams to\n405         be considered unequal, but they will be considered almost equal.\n406 \n407         >>> from obspy import read\n408         >>> st1 = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.core.util.testing.streams_almost_equal[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/testing.py:408: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004563390000100753}, "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.00020641399999021814}}, {"call": {"outcome": "passed", "duration": 0.002651570000011816}, "setup": {"outcome": "passed", "duration": 0.0008020710000096187}, "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.00016632899999535766}}, {"call": {"outcome": "failed", "duration": 0.00483772500001578, "longrepr": "421     :param maxradius: Maximum distance, in degrees, from the reference\n422         geographic point defined by the latitude and longitude parameters.\n423     :return: ``True`` if the object is within the given range, ``False``\n424         otherwise.\n425 \n426     .. rubric:: Example\n427 \n428     >>> from obspy.geodetics import inside_geobounds\n429     >>> from obspy import read_events\n430     >>> ev = read_events()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.geodetics.base.inside_geobounds[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/geodetics/base.py:430: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003188329999943562}, "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.00019765700000107245}}, {"call": {"outcome": "passed", "duration": 0.0027158799999824623}, "setup": {"outcome": "passed", "duration": 0.0003273789999980181}, "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.00018746800000712938}}, {"call": {"outcome": "passed", "duration": 0.0028068579999853682}, "setup": {"outcome": "passed", "duration": 0.0003141150000089965}, "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.00018468299998630755}}, {"call": {"outcome": "passed", "duration": 0.003177868999983957}, "setup": {"outcome": "passed", "duration": 0.00031188999997766587}, "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.00017005699999117496}}, {"call": {"outcome": "passed", "duration": 0.012536710000006224}, "setup": {"outcome": "passed", "duration": 0.0004605160000039632}, "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.00019776799999249306}}, {"call": {"outcome": "passed", "duration": 0.012193662000015593}, "setup": {"outcome": "passed", "duration": 0.0003466049999758525}, "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.00021299600001611907}}, {"call": {"outcome": "passed", "duration": 0.012161241000001155}, "setup": {"outcome": "passed", "duration": 0.0003866989999892212}, "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.00020750600000951636}}, {"call": {"outcome": "passed", "duration": 0.012136134999991555}, "setup": {"outcome": "passed", "duration": 0.0003640170000096532}, "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.00021418899999048335}}, {"call": {"outcome": "passed", "duration": 0.048982992999981434}, "setup": {"outcome": "passed", "duration": 0.0012549029999888717}, "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.00030150099999559643}}, {"call": {"outcome": "passed", "duration": 0.011605056999997032}, "setup": {"outcome": "passed", "duration": 0.000479221999995616}, "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.0003388699999788969}}, {"call": {"outcome": "passed", "duration": 0.0022085470000092755}, "setup": {"outcome": "passed", "duration": 0.0005643490000011298}, "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.0002156109999873479}}, {"call": {"outcome": "passed", "duration": 0.0011735119999798371}, "setup": {"outcome": "passed", "duration": 0.00033072499999775573}, "lineno": 71, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_with_geographiclib", "outcome": "passed", "keywords": ["test_gps_2_dist_azimuth_with_geographiclib", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001945120000073075}}, {"call": {"outcome": "passed", "duration": 0.00032404200001678873}, "setup": {"outcome": "passed", "duration": 0.0003309250000143038}, "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.0001925779999965016}}, {"call": {"outcome": "passed", "duration": 0.0004890900000020793}, "setup": {"outcome": "passed", "duration": 0.00029876599998601705}, "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.00018447299999024835}}, {"setup": {"outcome": "skipped", "duration": 0.00018657699999380384, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/geodetics/tests/test_util_geodetics.py', 195, 'Skipped: Geographiclib installed, not using calc_vincenty_inverse')"}, "lineno": 194, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_gps_2_dist_azimuth_bug150", "outcome": "skipped", "keywords": ["test_gps_2_dist_azimuth_bug150", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017877199999816185}}, {"call": {"outcome": "passed", "duration": 0.00023399500000209628}, "setup": {"outcome": "passed", "duration": 0.0003016210000055253}, "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.00016871400001150505}}, {"call": {"outcome": "passed", "duration": 0.000233403999999382}, "setup": {"outcome": "passed", "duration": 0.0002845990000253096}, "lineno": 220, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_degrees2kilometers", "outcome": "passed", "keywords": ["test_degrees2kilometers", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001642649999951118}}, {"call": {"outcome": "passed", "duration": 0.0013221379999777128}, "setup": {"outcome": "passed", "duration": 0.00028597099998250997}, "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.0001977080000017395}}, {"call": {"outcome": "passed", "duration": 0.0011984480000251096}, "setup": {"outcome": "passed", "duration": 0.00029472800000007737}, "lineno": 309, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_issue_375", "outcome": "passed", "keywords": ["test_issue_375", "skipif", "pytestmark", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017561599997861777}}, {"call": {"outcome": "passed", "duration": 0.0003567029999942406}, "setup": {"outcome": "passed", "duration": 0.00030847300001823896}, "lineno": 330, "nodeid": "geodetics/tests/test_util_geodetics.py::TestUtilGeodetics::test_inside_geobounds", "outcome": "passed", "keywords": ["test_inside_geobounds", "filterwarnings", "TestUtilGeodetics", "test_util_geodetics.py", "tests", "geodetics", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019540299999221133}}, {"call": {"outcome": "failed", "duration": 0.006724993000005952, "longrepr": "020 :class:`~obspy.core.stream.Stream` object and has various other optional\n021 arguments to adjust the plot, such as color and tick format changes.\n022 \n023 Additionally the start and end time of the plot can be given as\n024 :class:`~obspy.core.utcdatetime.UTCDateTime` objects.\n025 \n026 Examples files may be retrieved via https://examples.obspy.org.\n027 \n028 >>> from obspy import read\n029 >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.imaging[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/__init__.py:29: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008164580000027399}, "lineno": 0, "nodeid": "imaging/__init__.py::obspy.imaging", "outcome": "failed", "keywords": ["obspy.imaging", "filterwarnings", "__init__.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020983000001706387}}, {"call": {"outcome": "passed", "duration": 0.003275610000002871}, "setup": {"outcome": "passed", "duration": 0.0004822770000032506}, "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.0001885009999966769}}, {"call": {"outcome": "passed", "duration": 0.002851101000004519}, "setup": {"outcome": "passed", "duration": 0.00032032499998990716}, "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.0001943020000112483}}, {"call": {"outcome": "passed", "duration": 0.0028055660000063654}, "setup": {"outcome": "passed", "duration": 0.00031487500001503577}, "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.00018671700001959834}}, {"call": {"outcome": "passed", "duration": 0.002820643999996264}, "setup": {"outcome": "passed", "duration": 0.0004511690000015278}, "lineno": 1, "nodeid": "imaging/cm.py::obspy.imaging.cm", "outcome": "passed", "keywords": ["obspy.imaging.cm", "filterwarnings", "cm.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016760100001533829}}, {"call": {"outcome": "passed", "duration": 0.0026723580000123093}, "setup": {"outcome": "passed", "duration": 0.0004203910000057931}, "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.0001659889999814368}}, {"call": {"outcome": "passed", "duration": 0.0026815460000193525}, "setup": {"outcome": "passed", "duration": 0.0008405229999937092}, "lineno": 223, "nodeid": "imaging/scripts/scan.py::obspy.imaging.scripts.scan.Scanner", "outcome": "passed", "keywords": ["obspy.imaging.scripts.scan.Scanner", "filterwarnings", "scan.py", "scripts", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016927500001884255}}, {"call": {"outcome": "passed", "duration": 0.0026713470000174766}, "setup": {"outcome": "passed", "duration": 0.0004235570000048483}, "lineno": 29, "nodeid": "imaging/spectrogram.py::obspy.imaging.spectrogram._nearest_pow_2", "outcome": "passed", "keywords": ["obspy.imaging.spectrogram._nearest_pow_2", "filterwarnings", "spectrogram.py", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016649899998810724}}, {"call": {"outcome": "passed", "duration": 0.00024334200000453166}, "setup": {"outcome": "passed", "duration": 0.0007748710000043957}, "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.0001634239999930287}}, {"call": {"outcome": "passed", "duration": 0.414523097}, "setup": {"outcome": "passed", "duration": 0.0005862799999931667}, "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.00030572800000072675}}, {"call": {"outcome": "passed", "duration": 0.2894223690000217}, "setup": {"outcome": "passed", "duration": 0.0003922589999945103}, "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.00022322500001337175}}, {"call": {"outcome": "passed", "duration": 0.00029640100001415703}, "setup": {"outcome": "passed", "duration": 0.0003499199999907887}, "lineno": 109, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_strike_dip", "outcome": "passed", "keywords": ["test_strike_dip", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017172900001583002}}, {"call": {"outcome": "passed", "duration": 0.0003397119999988263}, "setup": {"outcome": "passed", "duration": 0.000297963999997819}, "lineno": 120, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_aux_plane", "outcome": "passed", "keywords": ["test_aux_plane", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016769100000146864}}, {"call": {"outcome": "passed", "duration": 0.00028575099997851794}, "setup": {"outcome": "passed", "duration": 0.00028754499999195104}, "lineno": 141, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_aux_plane_735", "outcome": "passed", "keywords": ["test_aux_plane_735", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016857399998571054}}, {"call": {"outcome": "passed", "duration": 0.0002783879999981309}, "setup": {"outcome": "passed", "duration": 0.0002795489999982692}, "lineno": 150, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_tdl", "outcome": "passed", "keywords": ["test_tdl", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001675320000060765}}, {"call": {"outcome": "passed", "duration": 0.0004485639999813884}, "setup": {"outcome": "passed", "duration": 0.00029823500000247805}, "lineno": 161, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_mt2plane", "outcome": "passed", "keywords": ["test_mt2plane", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017195899999933317}}, {"call": {"outcome": "passed", "duration": 0.0004559479999954874}, "setup": {"outcome": "passed", "duration": 0.00027825700001926634}, "lineno": 171, "nodeid": "imaging/tests/test_beachball.py::TestBeachballPlot::test_mt2axes", "outcome": "passed", "keywords": ["test_mt2axes", "filterwarnings", "TestBeachballPlot", "test_beachball.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016506700001173158}}, {"call": {"outcome": "passed", "duration": 0.1684017490000258}, "setup": {"outcome": "passed", "duration": 0.00043274400002246693}, "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.0004818660000012187}}, {"call": {"outcome": "passed", "duration": 0.1406954530000064}, "setup": {"outcome": "passed", "duration": 0.0005972099999951297}, "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.0003623339999876407}}, {"call": {"outcome": "passed", "duration": 0.14419640200000572}, "setup": {"outcome": "passed", "duration": 0.000568967000020848}, "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.0003807880000010755}}, {"call": {"outcome": "passed", "duration": 0.024786976999990884}, "setup": {"outcome": "passed", "duration": 0.0006043829999953232}, "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.00030822300001887015}}, {"call": {"outcome": "passed", "duration": 0.07370172299999922}, "setup": {"outcome": "passed", "duration": 0.0005371190000005299}, "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.0003706200000124227}}, {"call": {"outcome": "passed", "duration": 0.4381419809999727}, "setup": {"outcome": "passed", "duration": 0.0008115689999783626}, "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.0003499609999835229}}, {"call": {"outcome": "passed", "duration": 0.006137883999997484}, "setup": {"outcome": "passed", "duration": 0.0004922070000077383}, "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.000203868999989254}}, {"call": {"outcome": "passed", "duration": 0.0042875099999832855}, "setup": {"outcome": "passed", "duration": 0.0003196650000063528}, "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.00017722000001185734}}, {"call": {"outcome": "passed", "duration": 0.003940653999990218}, "setup": {"outcome": "passed", "duration": 0.0003300040000056015}, "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.00018036599999504688}}, {"call": {"outcome": "passed", "duration": 0.0628892780000001}, "setup": {"outcome": "passed", "duration": 0.00029943799998477516}, "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.00025438399998733985}}, {"call": {"outcome": "passed", "duration": 0.004086937000010948}, "setup": {"outcome": "passed", "duration": 0.0003670039999974506}, "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.00019768800001429554}}, {"call": {"outcome": "passed", "duration": 0.0046331340000165255}, "setup": {"outcome": "passed", "duration": 0.00035376899998595945}, "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.00019838900001900583}}, {"call": {"outcome": "passed", "duration": 0.7306227519999879}, "setup": {"outcome": "passed", "duration": 0.0007612569999935204}, "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.00026151599999479913}}, {"call": {"outcome": "passed", "duration": 0.4160358990000077}, "setup": {"outcome": "passed", "duration": 0.0004059350000034101}, "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.00023616900000433816}}, {"call": {"outcome": "passed", "duration": 0.4138964459999954}, "setup": {"outcome": "passed", "duration": 0.00041839899998308283}, "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.00025016600000071776}}, {"call": {"outcome": "passed", "duration": 0.4125882010000055}, "setup": {"outcome": "passed", "duration": 0.00047589499999389773}, "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.00024016699998696822}}, {"call": {"outcome": "passed", "duration": 0.4143413150000015}, "setup": {"outcome": "passed", "duration": 0.00040908199997602424}, "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.00026021400000786343}}, {"call": {"outcome": "passed", "duration": 0.12446667499997943}, "setup": {"outcome": "passed", "duration": 0.00043749399998205263}, "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.0002381130000230769}}, {"setup": {"outcome": "skipped", "duration": 0.00020813699998711854, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_mopad_script.py', 186, 'Skipped: Currently broken until further review.')"}, "lineno": 185, "nodeid": "imaging/tests/test_mopad_script.py::TestMopad::test_script_plot", "outcome": "skipped", "keywords": ["test_script_plot", "skip", "pytestmark", "filterwarnings", "image", "TestMopad", "test_mopad_script.py", "tests", "imaging", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00029215300000373645}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003096313000014561, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_plot.py\", line 37, in test_plot\n    obspy_plot(['--outfile', str(image_path)] + all_files_list)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/plot.py\", line 37, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000800970000000234}, "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.0002707430000157274}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023869119999915256, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_plot.py\", line 51, in test_plot_no_merge\n    obspy_plot(['--no-automerge', '--outfile', str(image_path)] +\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/plot.py\", line 37, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005058509999855687}, "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.00030755299999896124}}, {"call": {"outcome": "passed", "duration": 0.6369088829999896}, "setup": {"outcome": "passed", "duration": 0.958873436999994}, "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.00037610000001109256}}, {"call": {"outcome": "passed", "duration": 0.3242732280000098}, "setup": {"outcome": "passed", "duration": 0.1392790630000036}, "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.0003564920000087568}}, {"call": {"outcome": "passed", "duration": 0.4451072090000139}, "setup": {"outcome": "passed", "duration": 0.1449496310000029}, "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.000474612999994406}}, {"call": {"outcome": "passed", "duration": 0.014386018999999806}, "setup": {"outcome": "passed", "duration": 0.0010032149999972262}, "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.0002585210000063398}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py", "lineno": 91, "message": "assert 1 == 2\n +  where 1 = <obspy.imaging.scripts.scan.Scanner object at 0x7fc001f73b90>.counter"}, "outcome": "failed", "duration": 0.0017192370000032042, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 91, in test_scan_dir_no_permission\n    assert scanner.counter == 2\nAssertionError: assert 1 == 2\n +  where 1 = <obspy.imaging.scripts.scan.Scanner object at 0x7fc001f73b90>.counter"}, "setup": {"outcome": "passed", "duration": 0.00033121600000640683}, "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.00017642799997474867}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.03874087599999143, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 113, in test_scan_function_and_scanner_class\n    scanner.plot(path2)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.00046574600000326427}, "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.0003141249999885076}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.09659202500000674, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 151, in test_scan_plot_by_id_with_wildcard\n    fig = scanner.plot(fig=fig, show=False, seed_ids=[seed_id])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.0003732039999988501}, "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.00023139099999980317}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003518422000013288, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 172, in test_scanner_manually_add_streams\n    st = read(file_, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005346650000035424}, "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.0002628390000154468}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py", "lineno": 3749, "message": "ValueError: Axis limits cannot be NaN or Inf"}, "outcome": "failed", "duration": 0.03948752400000899, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_scan.py\", line 207, in test_scan_save_load_npz\n    scanner.plot(path1)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py\", line 417, in plot\n    ax.set_xlim(left - 0.05 * x_axis_range,\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3828, in set_xlim\n    return self.xaxis._set_lim(left, right, emit=emit, auto=auto)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axis.py\", line 1216, in _set_lim\n    v0 = self.axes._validate_converted_limits(v0, self.convert_units)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/matplotlib/axes/_base.py\", line 3749, in _validate_converted_limits\n    raise ValueError(\"Axis limits cannot be NaN or Inf\")\nValueError: Axis limits cannot be NaN or Inf"}, "setup": {"outcome": "passed", "duration": 0.0006159650000086003}, "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.0003117290000034245}}, {"call": {"outcome": "passed", "duration": 0.013872294999998758}, "setup": {"outcome": "passed", "duration": 0.0005364670000176375}, "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.0002453660000014679}}, {"call": {"outcome": "passed", "duration": 0.003465342999987797}, "setup": {"outcome": "passed", "duration": 0.00048568299999374176}, "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.0002610150000066369}}, {"call": {"outcome": "passed", "duration": 1.1416175010000131}, "setup": {"outcome": "passed", "duration": 0.00039617600000951825}, "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.0002638699999977234}}, {"call": {"outcome": "passed", "duration": 0.3444214019999947}, "setup": {"outcome": "passed", "duration": 0.0007603539999934128}, "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.0003904259999956139}}, {"call": {"outcome": "passed", "duration": 0.06310723200002144}, "setup": {"outcome": "passed", "duration": 0.0003964080000002923}, "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.00023577900000759655}}, {"call": {"outcome": "passed", "duration": 0.009870452999990675}, "setup": {"outcome": "passed", "duration": 0.000405553999996755}, "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.00020248699999569908}}, {"call": {"outcome": "passed", "duration": 0.4186717149999879}, "setup": {"outcome": "passed", "duration": 0.0004824869999993098}, "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.000227252000001954}}, {"call": {"outcome": "passed", "duration": 0.00030689100000813596}, "setup": {"outcome": "passed", "duration": 0.00038467500002070665}, "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.00018865100000198254}}, {"call": {"outcome": "passed", "duration": 0.002616205000009586}, "setup": {"outcome": "passed", "duration": 0.000291992999990498}, "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.00018077600000765415}}, {"call": {"outcome": "passed", "duration": 0.1475206730000025}, "setup": {"outcome": "passed", "duration": 0.00046573600002375315}, "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.0004368419999991602}}, {"call": {"outcome": "passed", "duration": 0.12828724899998178}, "setup": {"outcome": "passed", "duration": 0.0006073290000188081}, "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.00030798299999901246}}, {"call": {"outcome": "passed", "duration": 0.1264478390000079}, "setup": {"outcome": "passed", "duration": 0.0005487499999787815}, "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.00029003899999224814}}, {"call": {"outcome": "passed", "duration": 0.10212778499999331}, "setup": {"outcome": "passed", "duration": 0.0005234229999757645}, "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.00032630699999458557}}, {"call": {"outcome": "passed", "duration": 0.2449676300000192}, "setup": {"outcome": "passed", "duration": 0.0005734159999803978}, "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.00033621500000435844}}, {"call": {"outcome": "passed", "duration": 0.1948105139999825}, "setup": {"outcome": "passed", "duration": 0.0005882339999914166}, "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.00032377300001940057}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024370210000199677, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 194, in test_plot_multiple_traces_1_trace\n    st = read()[1]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005652810000071895}, "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.0002387840000039887}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021495260000108374, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 201, in test_plot_multiple_traces_3_traces\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004763149999860161}, "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.00023050899997656416}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002383862000016279, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 208, in test_plot_multiple_traces_5_traces\n    st = read()[1] * 5\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004735910000022159}, "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.00022994700000822377}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002067183000008299, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 216, in test_plot_multiple_traces_10_traces\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00046151799998028764}, "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.00022129100000256585}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020524060000184363, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 223, in test_plot_multiple_traces_10_traces_huge\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004483230000005278}, "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.00021945800000366944}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002091779000011229, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 234, in test_plot_multiple_traces_10_traces_tiny\n    st = read()[1] * 10\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004650149999747555}, "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.00024053799998569048}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020624139999938507, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 244, in test_plot_with_labels\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004389559999822268}, "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.00021689299998683964}}, {"call": {"outcome": "passed", "duration": 0.09638968400000181}, "setup": {"outcome": "passed", "duration": 0.0004409900000155176}, "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.00036611099997685415}}, {"call": {"outcome": "passed", "duration": 0.0988089320000256}, "setup": {"outcome": "passed", "duration": 0.0007330429999967691}, "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.0003253650000090147}}, {"call": {"outcome": "passed", "duration": 0.5100140259999932}, "setup": {"outcome": "passed", "duration": 0.0005399540000041725}, "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.00035278599997923266}}, {"call": {"outcome": "passed", "duration": 0.4983799180000119}, "setup": {"outcome": "passed", "duration": 0.0005783949999909055}, "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.0003127809999909914}}, {"call": {"outcome": "passed", "duration": 0.48242054799999323}, "setup": {"outcome": "passed", "duration": 0.0005558029999974679}, "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.0003192430000069635}}, {"call": {"outcome": "passed", "duration": 0.48568965600000524}, "setup": {"outcome": "passed", "duration": 0.0005537500000230011}, "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.00032249900002057075}}, {"call": {"outcome": "passed", "duration": 0.7930823179999891}, "setup": {"outcome": "passed", "duration": 0.0005595300000038606}, "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.00029124099998512065}}, {"call": {"outcome": "passed", "duration": 0.5211644259999844}, "setup": {"outcome": "passed", "duration": 0.0004993579999847952}, "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.0003451020000113658}}, {"call": {"outcome": "passed", "duration": 0.5342343240000105}, "setup": {"outcome": "passed", "duration": 0.0005611229999828993}, "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.0003021620000254188}}, {"call": {"outcome": "passed", "duration": 0.567747976999982}, "setup": {"outcome": "passed", "duration": 0.0005267100000025948}, "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.00032823999998754516}}, {"call": {"outcome": "passed", "duration": 0.5631970070000136}, "setup": {"outcome": "passed", "duration": 0.000574618000001692}, "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.00031591700002309153}}, {"call": {"outcome": "passed", "duration": 0.15359206600001585}, "setup": {"outcome": "passed", "duration": 0.0005730350000021645}, "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.00029021899999293055}}, {"call": {"outcome": "passed", "duration": 0.15184467800000334}, "setup": {"outcome": "passed", "duration": 0.0005181930000048851}, "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.0002876950000256784}}, {"call": {"outcome": "passed", "duration": 0.16760556799999904}, "setup": {"outcome": "passed", "duration": 0.0005327599999986887}, "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.00030653999999685766}}, {"call": {"outcome": "passed", "duration": 0.2302904539999986}, "setup": {"outcome": "passed", "duration": 0.0006496279999907983}, "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.0002768439999840666}}, {"call": {"outcome": "passed", "duration": 0.10408575200000314}, "setup": {"outcome": "passed", "duration": 0.0006502990000001319}, "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.0002605140000184747}}, {"call": {"outcome": "passed", "duration": 0.08971139900000935}, "setup": {"outcome": "passed", "duration": 0.0006527339999991}, "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.000263289000002942}}, {"call": {"outcome": "passed", "duration": 0.07221128500000873}, "setup": {"outcome": "passed", "duration": 0.0006495179999888023}, "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.0002609750000033273}}, {"call": {"outcome": "passed", "duration": 0.17896423499999514}, "setup": {"outcome": "passed", "duration": 0.0005344329999843467}, "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.0003878910000025826}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014261609999834945, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/tests/test_waveform.py\", line 473, in test_plot_day_plot_catalog\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005506429999968532}, "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.00022065000001703083}}, {"call": {"outcome": "passed", "duration": 0.09842003899998986}, "setup": {"outcome": "passed", "duration": 0.00031072699999867837}, "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.00022205199999802971}}, {"call": {"outcome": "passed", "duration": 0.003318468999992774}, "setup": {"outcome": "passed", "duration": 0.0004580210000142415}, "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.00017065700001239748}}, {"call": {"outcome": "passed", "duration": 0.0031748019999895405}, "setup": {"outcome": "passed", "duration": 0.0003233909999948992}, "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.00018031600001222614}}, {"call": {"outcome": "passed", "duration": 0.003336963999998943}, "setup": {"outcome": "passed", "duration": 0.0003156970000190995}, "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.0001760169999727168}}, {"call": {"outcome": "passed", "duration": 0.0009716259999947852}, "setup": {"outcome": "passed", "duration": 0.0018136519999814027}, "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.00016934499998910724}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000943113000005269, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ah/tests/test_core.py\", line 57, in test_read\n    st = read(testfile)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003337710000153038}, "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.0001772800000026109}}, {"call": {"outcome": "passed", "duration": 0.013625369999999748}, "setup": {"outcome": "passed", "duration": 0.00035492000000658663}, "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.00018654699999842705}}, {"call": {"outcome": "passed", "duration": 0.0029507949999754146}, "setup": {"outcome": "passed", "duration": 0.0003889230000027055}, "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.00017735999998080842}}, {"call": {"outcome": "passed", "duration": 0.097126032999995}, "setup": {"outcome": "passed", "duration": 0.0003451620000021194}, "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.00036615100000858547}}, {"call": {"outcome": "passed", "duration": 0.0006074700000056055}, "setup": {"outcome": "passed", "duration": 0.00048754600001643666}, "lineno": 61, "nodeid": "io/ah/tests/test_xdrlib.py::TestXDR::test_xdr", "outcome": "passed", "keywords": ["test_xdr", "filterwarnings", "TestXDR", "test_xdrlib.py", "tests", "ah", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002098799999998846}}, {"call": {"outcome": "passed", "duration": 0.00028096299999447183}, "setup": {"outcome": "passed", "duration": 0.0005205180000018572}, "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.00020111399999223067}}, {"call": {"outcome": "passed", "duration": 0.00028859700000793964}, "setup": {"outcome": "passed", "duration": 0.00044277299997474984}, "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.0001941900000019814}}, {"call": {"outcome": "passed", "duration": 0.00025546500000928063}, "setup": {"outcome": "passed", "duration": 0.00042269600001532126}, "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.00019579400000679925}}, {"call": {"outcome": "passed", "duration": 0.0002537619999998242}, "setup": {"outcome": "passed", "duration": 0.00044313399999396097}, "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.0001883200000065699}}, {"call": {"outcome": "passed", "duration": 0.00026897999998709565}, "setup": {"outcome": "passed", "duration": 0.000400834999993549}, "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.0001922279999746479}}, {"call": {"outcome": "passed", "duration": 0.0030285899999853427}, "setup": {"outcome": "passed", "duration": 0.0007977229999767133}, "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.00017528599997262972}}, {"call": {"outcome": "failed", "duration": 0.005767181999999593, "longrepr": "132         91,92,93,94,95,97,98,102,103,104,106,107,108,109, and 111.\n133     :type ignore_error: bool, optional\n134     :param ignore_error: Include error frames as much as possible if True.\n135     :rtype: :class:`~obspy.core.stream.Stream`\n136     :return: A ObsPy Stream object.\n137 \n138     .. rubric:: Example\n139 \n140     >>> from obspy import read\n141     >>> st = read(\"/path/to/pse.a15.1.2.mini\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_pse[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/alsep/core.py:141: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003827510000178336}, "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.00019636499999364787}}, {"call": {"outcome": "failed", "duration": 0.005509443000022429, "longrepr": "295         for scanning available data in huge (temporary) data sets.\n296     :type ignore_error: bool, optional\n297     :param ignore_error: Include error frames as much as possible if True.\n298     :rtype: :class:`~obspy.core.stream.Stream`\n299     :return: A ObsPy Stream object.\n300 \n301     .. rubric:: Example\n302 \n303     >>> from obspy import read\n304     >>> st = read(\"/path/to/wth.1.5.mini\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_wth[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/alsep/core.py:304: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032710799999335904}, "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.00017827100000999963}}, {"call": {"outcome": "failed", "duration": 0.005285125000000335, "longrepr": "205         for scanning available data in huge (temporary) data sets.\n206     :type ignore_error: bool, optional\n207     :param ignore_error: Include error frames as much as possible if True.\n208     :rtype: :class:`~obspy.core.stream.Stream`\n209     :return: A ObsPy Stream object.\n210 \n211     .. rubric:: Example\n212 \n213     >>> from obspy import read\n214     >>> st = read(\"/path/to/wtn.1.2.mini\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.alsep.core._read_wtn[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/alsep/core.py:214: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032474400001092363}, "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.00019151600000100188}}, {"call": {"outcome": "passed", "duration": 0.0004807740000103422}, "setup": {"outcome": "passed", "duration": 0.0011846529999957056}, "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.0001715089999834163}}, {"call": {"outcome": "passed", "duration": 0.0004672389999882398}, "setup": {"outcome": "passed", "duration": 0.00034961000000066633}, "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.00018661699999711345}}, {"call": {"outcome": "passed", "duration": 0.00045265100001756764}, "setup": {"outcome": "passed", "duration": 0.00032542499999976826}, "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.00016486700002360521}}, {"call": {"outcome": "passed", "duration": 0.24404814999999758}, "setup": {"outcome": "passed", "duration": 0.0003244240000128684}, "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.00024544600000808714}}, {"call": {"outcome": "passed", "duration": 1.411555581000016}, "setup": {"outcome": "passed", "duration": 0.0004374730000051841}, "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.0002551750000066022}}, {"call": {"outcome": "passed", "duration": 0.023354864999987512}, "setup": {"outcome": "passed", "duration": 0.0004986769999959506}, "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.00023814299999003197}}, {"call": {"outcome": "passed", "duration": 0.012287778000001026}, "setup": {"outcome": "passed", "duration": 0.0004298089999963395}, "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.0001903939999863269}}, {"call": {"outcome": "passed", "duration": 0.015574639000021762}, "setup": {"outcome": "passed", "duration": 0.0004098420000104852}, "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.00021825499999295062}}, {"call": {"outcome": "passed", "duration": 0.004350419999980204}, "setup": {"outcome": "passed", "duration": 0.00041956000001164284}, "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.00018591599999240316}}, {"call": {"outcome": "passed", "duration": 0.11290389999999206}, "setup": {"outcome": "passed", "duration": 0.00038235099998473743}, "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.00024615699999230856}}, {"call": {"outcome": "passed", "duration": 0.0648715910000135}, "setup": {"outcome": "passed", "duration": 0.0004322830000091926}, "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.0002567270000213284}}, {"call": {"outcome": "passed", "duration": 0.2623529109999936}, "setup": {"outcome": "passed", "duration": 0.00046514499999261716}, "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.0003337310000119942}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009441859999981261, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 35, in test_publicid_slash\n    v = read_inventory(testdata[\"public-id-slash.xml\"])\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0017261300000086521}, "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.0002369199999918692}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008180410000022675, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 42, in test_analogue_filter_chain\n    arclink_inv = read_inventory(self.arclink_afc_path)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043012000000430817}, "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.00019967099999007587}}, {"call": {"outcome": "passed", "duration": 0.018615223000011838}, "setup": {"outcome": "passed", "duration": 0.00043239400000061323}, "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.0002426920000004884}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0035197640000035335, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 71, in test_raise_polynomial\n    read_inventory(self.arclink_xml_poly)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004687520000175027}, "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.0002160020000019358}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008807970000077603, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/arclink/tests/test_inventory_xml.py\", line 75, in test_auto_read_arclink_xml\n    arclink_inv = read_inventory(self.arclink_xml_path)\n                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044505799999683404}, "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.00032692799999267663}}, {"call": {"outcome": "skipped", "duration": 0.0002348470000015368, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0007620970000061789}, "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.00017916300001274976}}, {"call": {"outcome": "skipped", "duration": 0.00019921000000522326, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003133019999950193}, "lineno": 85, "nodeid": "io/ascii/core.py::obspy.io.ascii.core._is_tspair", "outcome": "skipped", "keywords": ["obspy.io.ascii.core._is_tspair", "filterwarnings", "core.py", "ascii", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019473200001129953}}, {"call": {"outcome": "failed", "duration": 0.005872267999990299, "longrepr": "121     :type headonly: bool, optional\n122     :param headonly: If set to True, read only the head. This is most useful\n123         for scanning available data in huge (temporary) data sets.\n124     :rtype: :class:`~obspy.core.stream.Stream`\n125     :return: A ObsPy Stream object.\n126 \n127     .. rubric:: Example\n128 \n129     >>> from obspy import read\n130     >>> st = read('/path/to/slist.ascii')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._read_slist[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:130: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003028630000017074}, "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.00020955000002231827}}, {"call": {"outcome": "failed", "duration": 0.0057064209999850846, "longrepr": "189     :type headonly: bool, optional\n190     :param headonly: If set to True, read only the headers. This is most useful\n191         for scanning available data in huge (temporary) data sets.\n192     :rtype: :class:`~obspy.core.stream.Stream`\n193     :return: A ObsPy Stream object.\n194 \n195     .. rubric:: Example\n196 \n197     >>> from obspy import read\n198     >>> st = read('/path/to/tspair.ascii')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._read_tspair[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:198: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005249860000162698}, "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.00018235899997876004}}, {"call": {"outcome": "failed", "duration": 0.005947859000002609, "longrepr": "261     :param filename: Name of file to write.\n262     :type custom_fmt: str\n263     :param custom_fmt: formatter for writing sample values. Defaults to None.\n264         Using this parameter will set ``TYPE`` value in header to ``CUSTOM``\n265         and ObsPy will raise an exception while trying to read that file.\n266 \n267     .. rubric:: Example\n268 \n269     >>> from obspy import read\n270     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._write_slist[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:270: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033382000000869994}, "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.00018436199999882774}}, {"call": {"outcome": "failed", "duration": 0.005870815999998058, "longrepr": "371     :param filename: Name of file to write.\n372     :type custom_fmt: str\n373     :param custom_fmt: formatter for writing sample values. Defaults to None.\n374         Using this parameter will set ``TYPE`` value in header to ``CUSTOM``\n375         and ObsPy will raise an exception while trying to read that file.\n376 \n377     .. rubric:: Example\n378 \n379     >>> from obspy import read\n380     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ascii.core._write_tspair[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/core.py:380: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003431180000177392}, "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.00020155400000021473}}, {"call": {"outcome": "passed", "duration": 0.0004707150000058391}, "setup": {"outcome": "passed", "duration": 0.001529905000012377}, "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.0001962039999909848}}, {"call": {"outcome": "passed", "duration": 0.0015497509999988779}, "setup": {"outcome": "passed", "duration": 0.0003479869999978291}, "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.00018166800001040428}}, {"call": {"outcome": "passed", "duration": 0.002420951000004834}, "setup": {"outcome": "passed", "duration": 0.0003352429999949891}, "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.0001858249999884265}}, {"call": {"outcome": "passed", "duration": 0.0009612770000160253}, "setup": {"outcome": "passed", "duration": 0.0003388699999788969}, "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.00018296999999733998}}, {"call": {"outcome": "passed", "duration": 0.0014355500000249322}, "setup": {"outcome": "passed", "duration": 0.0003308850000109942}, "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.00018185799999059782}}, {"call": {"outcome": "passed", "duration": 0.0004388860000119621}, "setup": {"outcome": "passed", "duration": 0.0003307549999931325}, "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.00016828299999360752}}, {"call": {"outcome": "passed", "duration": 0.0016964340000242828}, "setup": {"outcome": "passed", "duration": 0.00034297700000252007}, "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.00017226099998879363}}, {"call": {"outcome": "passed", "duration": 0.0031413410000027397}, "setup": {"outcome": "passed", "duration": 0.00035017100000800383}, "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.00017668800001047202}}, {"call": {"outcome": "passed", "duration": 0.0011381959999994251}, "setup": {"outcome": "passed", "duration": 0.0003438999999900716}, "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.0001744340000016109}}, {"call": {"outcome": "passed", "duration": 0.0015028539999946133}, "setup": {"outcome": "passed", "duration": 0.0003336999999987711}, "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.00017584700000838893}}, {"call": {"outcome": "passed", "duration": 0.0027073239999992893}, "setup": {"outcome": "passed", "duration": 0.0003387700000132554}, "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.00017285200001992962}}, {"call": {"outcome": "passed", "duration": 0.002680664999985538}, "setup": {"outcome": "passed", "duration": 0.0003472850000036942}, "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.0001834710000139239}}, {"call": {"outcome": "passed", "duration": 0.0019476209999993443}, "setup": {"outcome": "passed", "duration": 0.00033527300001878757}, "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.00017634799999655115}}, {"call": {"outcome": "passed", "duration": 0.0348673209999788}, "setup": {"outcome": "passed", "duration": 0.0003405530000009094}, "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.00022963699998967968}}, {"call": {"outcome": "passed", "duration": 0.002442099999996117}, "setup": {"outcome": "passed", "duration": 0.0004222960000106468}, "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.0001839619999941533}}, {"call": {"outcome": "passed", "duration": 0.0023232389999918723}, "setup": {"outcome": "passed", "duration": 0.00037409600000160026}, "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.0002040089999866268}}, {"call": {"outcome": "passed", "duration": 0.001613048999985267}, "setup": {"outcome": "passed", "duration": 0.0003355940000062674}, "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.00019429200000331548}}, {"call": {"outcome": "passed", "duration": 0.006442958999997472}, "setup": {"outcome": "passed", "duration": 0.0003333890000192241}, "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.00018134699999450277}}, {"call": {"outcome": "passed", "duration": 0.01985744300000647}, "setup": {"outcome": "passed", "duration": 0.0003107779999993454}, "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.00022587000000839907}}, {"call": {"outcome": "passed", "duration": 0.03515927399999441}, "setup": {"outcome": "passed", "duration": 0.000334331000004795}, "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.0002105810000045949}}, {"call": {"outcome": "passed", "duration": 0.00033307900000068}, "setup": {"outcome": "passed", "duration": 0.0003310949999786317}, "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.00016776200001800134}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009067059999949834, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ascii/tests/test_ascii.py\", line 675, in test_regression_against_mseed2ascii\n    read(mseed_file).write(tf.name, format=\"TSPAIR\")\n    ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003159879999827808}, "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.00017924299999094728}}, {"call": {"outcome": "passed", "duration": 0.001406795999997712}, "setup": {"outcome": "passed", "duration": 0.0003377879999959532}, "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.00017016599997532467}}, {"call": {"outcome": "passed", "duration": 0.0009352690000241637}, "setup": {"outcome": "passed", "duration": 0.0003446810000014011}, "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.0002468990000181748}}, {"call": {"outcome": "failed", "duration": 0.005868421999991824, "longrepr": "013     GNU Lesser General Public License, Version 3\n014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 \n019 It works by utilizing ObsPy's :func:`~obspy.core.event.read_events` function.\n020 \n021 >>> import obspy\n022 >>> cat = obspy.read_events(\"/path/to/CMTSOLUTION\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.cmtsolution[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007384829999921294}, "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.00018263000001184082}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007504550000021482, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 27, in test_read_and_write_cmtsolution_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010805490000223017}, "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.0001786120000133451}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007394139999803429, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 53, in test_write_no_preferred_focal_mechanism\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005020130000161771}, "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.0001818880000143963}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003914070000234915, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 82, in test_read_and_write_cmtsolution_from_open_files\n    cat = obspy.read_events(fh)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034114400000362366}, "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.00017653799997674469}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00037627000000384214, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 106, in test_read_and_write_cmtsolution_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036108100002252286}, "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.0001927880000209825}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00040419100000121944, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 130, in test_read_and_write_cmtsolution_explosion\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034529199999155935}, "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.00017978400001084083}}, {"call": {"outcome": "passed", "duration": 0.0049027759999944465}, "setup": {"outcome": "passed", "duration": 0.0003316270000084387}, "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.00019023400000151014}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007847189999949933, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 163, in test_read_and_write_multiple_cmtsolution_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033533300000954114}, "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.00018241899999793532}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00038903300000470153, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 197, in test_read_and_write_multiple_events_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032770999999343076}, "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.00018469299999424038}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007377619999999752, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cmtsolution/tests/test_core.py\", line 213, in test_reading_newer_cmtsolution_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003340110000067398}, "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.00026666599998748097}}, {"call": {"outcome": "passed", "duration": 0.03184246699998994}, "setup": {"outcome": "passed", "duration": 0.00143450699999903}, "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.00027738599999338476}}, {"call": {"outcome": "passed", "duration": 0.0005817020000051798}, "setup": {"outcome": "passed", "duration": 0.01570662500000708}, "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.00019217699997398086}}, {"call": {"outcome": "passed", "duration": 0.0005608730000119522}, "setup": {"outcome": "passed", "duration": 0.014656040999994957}, "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.00022228299999937917}}, {"call": {"outcome": "passed", "duration": 0.00029658199997584234}, "setup": {"outcome": "passed", "duration": 0.014817973000020856}, "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.00020346799999515497}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009111650000193094, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/css/tests/test_core.py\", line 94, in test_css_read_via_obspy\n    st = read(self.filename_css)\n         ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.014708678000005193}, "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.00020237699999370307}}, {"call": {"outcome": "passed", "duration": 0.002479630000010502}, "setup": {"outcome": "passed", "duration": 0.014822500000008176}, "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.00021053099999335245}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008941730000060488, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/css/tests/test_core.py\", line 113, in test_nnsa_kb_core_read_via_obspy\n    st = read(self.filename_nnsa)\n         ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.014664917000004607}, "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.00023005799999964438}}, {"call": {"outcome": "passed", "duration": 0.0024453970000024583}, "setup": {"outcome": "passed", "duration": 0.014813564000007773}, "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.00020894900001167116}}, {"call": {"outcome": "passed", "duration": 0.004039862000013272}, "setup": {"outcome": "passed", "duration": 0.014588454999994838}, "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.0002118129999928442}}, {"call": {"outcome": "passed", "duration": 0.0014030389999959425}, "setup": {"outcome": "passed", "duration": 0.014784048999985089}, "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.00042902799998500996}}, {"call": {"outcome": "passed", "duration": 0.07636330699997984}, "setup": {"outcome": "passed", "duration": 0.0006200130000024728}, "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.0003316369999879498}}, {"call": {"outcome": "failed", "duration": 0.006722148999983801, "longrepr": "004 \n005 \n006 Usage CSV\n007 ---------\n008 \n009 CSV format can be used to store a catalog with basic origin properties.\n010 Picks cannot be stored.\n011 \n012 >>> from obspy import read_events\n013 >>> events = read_events('/path/to/catalog.csv')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/__init__.py:13: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008936919999769088}, "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.0002217319999999745}}, {"call": {"outcome": "failed", "duration": 0.005050000000011323, "longrepr": "386     All kwargs are passed to :func:`load_csv`, e.g. use\n387     `only=('lat', 'lon', 'mag')`\n388     to get an array with lat, lon, mag parameters.\n389 \n390     Example\n391     -------\n392 \n393     >>> from obspy import read_events\n394     >>> from obspy.io.csv import _events2array\n395     >>> events = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._events2array[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/core.py:395: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004393870000001243}, "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.00020582199999807926}}, {"call": {"outcome": "failed", "duration": 0.006071790000021338, "longrepr": "142         otherwise can be specified as string, sequence or dict\n143     :param format_check: Check if the first event can be read\n144     :param **kargs: all other kwargs are passed to csv.DictReader,\n145         important additional arguments are fieldnames, dialect, delimiter, etc\n146 \n147     Example\n148     -------\n149 \n150     >>> from obspy import read_events\n151     >>> events = read_events('/path/to/catalog.csv')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._read_csv[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033716699999786215}, "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.00018998300001271673}}, {"call": {"outcome": "failed", "duration": 0.004764188000024205, "longrepr": "265     .. warning::\n266         If the parameters `delimiter` or `header` are changed,\n267         ObsPy's read_events function will not automatically identify the file\n268         as CSV file\n269 \n270     Example\n271     -------\n272 \n273     >>> from obspy import read_events\n274     >>> events = read_events()  # get example catalog\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.csv.core._write_csv[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/core.py:274: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003481180000051154}, "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.00019417199999338663}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011618299999724968, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 14, in test_csv\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008119400000055066}, "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.00022266400000603426}}, {"call": {"outcome": "passed", "duration": 0.02009430199998974}, "setup": {"outcome": "passed", "duration": 0.0003192540000043209}, "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.00021425900001759146}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001186085000000503, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 43, in test_csv_incomplete_catalog\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033881999999607615}, "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.0001895130000093559}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001178221000003532, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 71, in test_csv_custom_fmt\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003270580000105383}, "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.00018936200001462566}}, {"call": {"outcome": "passed", "duration": 0.00040788800001223535}, "setup": {"outcome": "passed", "duration": 0.0003269780000039191}, "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.0001852640000095107}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0033218570000030923, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 88, in test_csz\n    events = read_events('/path/to/example.pha')\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030059899998491346}, "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.00019377999998937412}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013371759999927235, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 128, in test_csz_without_picks\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000305749000006017}, "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.00019471199999543387}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003169232999994165, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 139, in test_csz_without_check_compression_parameters\n    test_csz(check_compression=True)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 88, in test_csz\n    events = read_events('/path/to/example.pha')\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000321398000011186}, "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.00020564199999739685}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001162571999998363, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 144, in test_load_csv\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031525599999326914}, "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.0001857850000135386}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001117908999987094, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 158, in test_load_csv_incomplete_catalog\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030355399999848487}, "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.00019339900001114074}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001141052000008358, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 173, in test_load_csv_some_cols\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003032030000156283}, "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.0001844929999776923}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010906779999970695, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 190, in test_events2array\n    events = read_events()\n             ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000296421000001601}, "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.00018004499997914536}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0038503689999913604, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/csv/tests/test_csv.py\", line 198, in test_eventtxt\n    events = read_events(fname)\n             ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029612999998107625}, "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.0001861360000248169}}, {"call": {"outcome": "failed", "duration": 0.006908155000019178, "longrepr": "014 \n015 Reading\n016 -------\n017 \n018 Reading CyberShake waveform data is handled by using\n019 ObsPy's standard :func:`~obspy.core.stream.read` function. The format is\n020 detected automatically.\n021 \n022 >>> from obspy import read\n023 >>> st = read(\"/path/to/test.grm\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.cybershake[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cybershake/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007741990000056376}, "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.0001838919999954669}}, {"call": {"outcome": "passed", "duration": 0.0003364059999739766}, "setup": {"outcome": "passed", "duration": 0.0007444839999948272}, "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.0001772089999860782}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022253579999755857, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/cybershake/tests/test_core.py\", line 37, in test_read_cybershake\n    st2 = read(valid_file)\n          ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003321480000124666}, "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.00025209900002209906}}, {"call": {"outcome": "failed", "duration": 0.0064976419999993595, "longrepr": "019 Reading DMX is handled by using ObsPy's standard\n020 :func:`~obspy.core.stream.read` function. The format can be detected\n021 automatically, however setting the ``format`` parameter as \"DMX\" lead to a\n022 speed up.\n023 One optional keyword argument is available: ``station``. It is automatically\n024 passed to the :func:`obspy.io.dmx.core._read_dmx`. Its format \n025 \n026 >>> from obspy import read\n027 >>> # these two are equivalent, but the second case should be faster:\n028 >>> st = read(\"/path/to/131114_090600.dmx\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.dmx[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/__init__.py:28: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007443739999928312}, "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.00018080600000303093}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008385099999941303, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/tests/test_core.py\", line 23, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010619950000148037}, "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.0001821689999985665}}, {"call": {"outcome": "passed", "duration": 0.0018561509999983627}, "setup": {"outcome": "passed", "duration": 0.000528172000002769}, "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.00017647799998599112}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008233000000075208, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/tests/test_core.py\", line 59, in test_read_with_station\n    st = read(filename, station='EMPL')\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034314800001311596}, "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.00019965100000263192}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008002980000014759, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/dmx/tests/test_core.py\", line 73, in test_check_data_content_sum\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033133599998791397}, "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.0002594919999978629}}, {"call": {"outcome": "passed", "duration": 0.0002895580000199516}, "setup": {"outcome": "passed", "duration": 0.0015529380000032234}, "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.00018569599998841113}}, {"call": {"outcome": "passed", "duration": 0.00735677899999132}, "setup": {"outcome": "passed", "duration": 0.0006370440000011968}, "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.00019307900001308553}}, {"call": {"outcome": "passed", "duration": 0.004236095999999634}, "setup": {"outcome": "passed", "duration": 0.000501522000007526}, "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.00019110499999897002}}, {"call": {"outcome": "passed", "duration": 0.006745172000023558}, "setup": {"outcome": "passed", "duration": 0.00048254699999006334}, "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.00022516900000368878}}, {"call": {"outcome": "passed", "duration": 0.006504734000003509}, "setup": {"outcome": "passed", "duration": 0.0005105189999881077}, "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.00021120299999211056}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000772796999996217, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/focmec/tests/test_core.py\", line 151, in test_read_focmec_out_through_plugin\n    cat = read_events(self.out_file)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005229630000087582}, "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.00020551200000795689}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007474700000216217, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/focmec/tests/test_core.py\", line 155, in test_read_focmec_lst_through_plugin\n    cat = read_events(self.lst_file)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004958119999969313}, "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.0001958840000213513}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008159770000020217, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/focmec/tests/test_core.py\", line 169, in test_read_focmec_lst_other_flavors\n    cat = read_events(testdata['focmec_qedUWne.lst'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004956409999863354}, "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.0003308460000255309}}, {"call": {"outcome": "failed", "duration": 0.0074438210000096205, "longrepr": "015     (https://www.gnu.org/copyleft/lesser.html)\n016 \n017 Reading\n018 -------\n019 \n020 Similar to reading any other waveform data format using :mod:`obspy.core`\n021 The format will be determined automatically.\n022 \n023 >>> from obspy import read\n024 >>> st = read(\"/path/to/20160603_1955n.gcf\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gcf[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007894480000061321}, "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.00021337599997650614}}, {"call": {"outcome": "passed", "duration": 0.007659812999975202}, "setup": {"outcome": "passed", "duration": 0.0004200310000044283}, "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.000179243000019369}}, {"call": {"outcome": "skipped", "duration": 0.0002180759999816928, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00034683399999835274}, "lineno": 550, "nodeid": "io/gcf/core.py::obspy.io.gcf.core._write_gcf", "outcome": "skipped", "keywords": ["obspy.io.gcf.core._write_gcf", "filterwarnings", "core.py", "gcf", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002003120000040326}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000829092000003584, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 32, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011167659999955504}, "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.00017693899999926543}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009906919999878028, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 51, in test_read_head_via_obspy\n    st = read(filename, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036456800000905787}, "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.00019096500000159722}}, {"call": {"outcome": "passed", "duration": 0.0016885199999876477}, "setup": {"outcome": "passed", "duration": 0.0003371169999866197}, "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.00017519499999707477}}, {"call": {"outcome": "passed", "duration": 0.00131651799998167}, "setup": {"outcome": "passed", "duration": 0.00034107499999436186}, "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.00017305200000805598}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008009090000200558, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 104, in test_read_channel_prefix_via_obspy\n    st = read(filename, headonly=True, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035959800001705844}, "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.00018732899999918118}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000836586000019679, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 121, in test_merge_gcf_stream\n    st1 = read(filename, headonly=True, channel_prefix=\"HN\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003573040000048877}, "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.00017951399999560635}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000986734999997907, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 146, in test_sps_d\n    st = read(filename, headonly=True, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003424559999984922}, "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.0002056220000099529}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008588970000005247, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gcf/tests/test_core.py\", line 163, in test_read_no_merge\n    st = read(filename, blockmerge=False, channel_prefix=\"HN\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003369060000011359}, "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.0001782619999914914}}, {"call": {"outcome": "passed", "duration": 0.0118215310000096}, "setup": {"outcome": "passed", "duration": 0.0003009899999995014}, "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.0001896629999862398}}, {"call": {"outcome": "passed", "duration": 0.18285684800000013}, "setup": {"outcome": "passed", "duration": 0.0003075719999969806}, "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.00024780100000043603}}, {"call": {"outcome": "passed", "duration": 0.0026445770000123048}, "setup": {"outcome": "passed", "duration": 0.00036607100000196624}, "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.0002579500000194912}}, {"call": {"outcome": "failed", "duration": 0.007776640000002999, "longrepr": "016 :license:\n017     GNU Lesser General Public License, Version 3\n018     (https://www.gnu.org/copyleft/lesser.html)\n019 \n020 Reading waveform data\n021 ---------------------\n022 Similar to reading any other waveform data format using :mod:`obspy.core`:\n023 \n024 >>> from obspy import read\n025 >>> st = read(\"/path/to/loc_RJOB20050831023349.z\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/__init__.py:25: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007814419999760958}, "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.00018499399999427624}}, {"call": {"outcome": "failed", "duration": 0.007617935000013176, "longrepr": "1118     ...         'az': slice(40, 46),\n1119     ...         'antype': slice(105, 106),\n1120     ...         'loctype': slice(107, 108),\n1121     ...         'evtype': slice(109, 111),\n1122     ...     },\n1123     ...     'arrival': {\n1124     ...         'amp': slice(94, 104),\n1125     ...     },\n1126     ... }\n1127     >>> catalog = read_events('/path/to/bulletin/gse_2.0_non_standard.txt',\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.bulletin._read_gse2[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/bulletin.py:1127: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003513130000101228}, "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.00018713800000114134}}, {"call": {"outcome": "failed", "duration": 0.0071683389999748215, "longrepr": "142     :type verify_chksum: bool, optional\n143     :param verify_chksum: If True verify Checksum and raise Exception if\n144         it is not correct.\n145     :rtype: :class:`~obspy.core.stream.Stream`\n146     :returns: Stream object containing header and data.\n147 \n148     .. rubric:: Example\n149 \n150     >>> from obspy import read\n151     >>> st = read(\"/path/to/y2000.gse\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._read_gse1[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/core.py:151: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00035489999999072097}, "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.00020676500000149645}}, {"call": {"outcome": "failed", "duration": 0.00711206399998332, "longrepr": "044     :type verify_chksum: bool, optional\n045     :param verify_chksum: If True verify Checksum and raise Exception if\n046         it is not correct.\n047     :rtype: :class:`~obspy.core.stream.Stream`\n048     :returns: Stream object containing header and data.\n049 \n050     .. rubric:: Example\n051 \n052     >>> from obspy import read\n053     >>> st = read(\"/path/to/loc_RJOB20050831023349.z\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._read_gse2[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/core.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0005891460000100324}, "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.00019896099999527905}}, {"call": {"outcome": "failed", "duration": 0.005787971999978936, "longrepr": "083     :param filename: Name of file to write.\n084     :type inplace: bool, optional\n085     :param inplace: If True, do compression not on a copy of the data but\n086         on the data itself - note this will change the data values and make\n087         them therefore unusable!\n088 \n089     .. rubric:: Example\n090 \n091     >>> from obspy import read\n092     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.gse2.core._write_gse2[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/core.py:92: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003270279999867398}, "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.00022098099998402176}}, {"call": {"outcome": "passed", "duration": 0.002798433999998906}, "setup": {"outcome": "passed", "duration": 0.0004156729999920117}, "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.00017957300002535703}}, {"call": {"outcome": "passed", "duration": 0.00284967800001823}, "setup": {"outcome": "passed", "duration": 0.0003917989999990823}, "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.00017708999999399566}}, {"call": {"outcome": "passed", "duration": 0.00260940200001869}, "setup": {"outcome": "passed", "duration": 0.0003127820000088377}, "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.0001930290000018431}}, {"call": {"outcome": "passed", "duration": 0.021021958000005725}, "setup": {"outcome": "passed", "duration": 0.0009655060000000049}, "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.00019939099999533028}}, {"call": {"outcome": "passed", "duration": 0.016772656999989977}, "setup": {"outcome": "passed", "duration": 0.00036565999999993437}, "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.00018131699999912598}}, {"call": {"outcome": "passed", "duration": 0.018035283999978446}, "setup": {"outcome": "passed", "duration": 0.0003600389999860454}, "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.00017846200000803947}}, {"call": {"outcome": "passed", "duration": 0.017324471999984326}, "setup": {"outcome": "passed", "duration": 0.00033135600000377963}, "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.00017617800000380157}}, {"call": {"outcome": "passed", "duration": 0.01711150699998143}, "setup": {"outcome": "passed", "duration": 0.00034655499999303174}, "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.00017659900001376627}}, {"call": {"outcome": "passed", "duration": 0.017062955999989526}, "setup": {"outcome": "passed", "duration": 0.0003222800000060033}, "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.00021179399999482484}}, {"call": {"outcome": "passed", "duration": 0.04000271000001021}, "setup": {"outcome": "passed", "duration": 0.00040046500001267304}, "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.00023218100000121922}}, {"call": {"outcome": "passed", "duration": 0.017560782000003883}, "setup": {"outcome": "passed", "duration": 0.00038869299999078066}, "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.00023824300001251686}}, {"call": {"outcome": "passed", "duration": 0.029469454000008}, "setup": {"outcome": "passed", "duration": 0.00040827899999840156}, "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.0001959139999883064}}, {"call": {"outcome": "passed", "duration": 0.017104794000005086}, "setup": {"outcome": "passed", "duration": 0.00035767500000360997}, "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.0001813970000057452}}, {"call": {"outcome": "passed", "duration": 0.027092144999983248}, "setup": {"outcome": "passed", "duration": 0.00037758199999871067}, "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.0001781910000033804}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009455679999916811, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 605, in test_inventory\n    inventory = read_inventory(inventory_filename)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033255799999665214}, "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.00018099600001164617}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008279790000074172, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 645, in test_inventory_with_multiple_channels\n    inventory = read_inventory(inventory_filename)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003492090000065673}, "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.00017494500002612767}}, {"call": {"outcome": "passed", "duration": 0.03079302599999778}, "setup": {"outcome": "passed", "duration": 0.00034131499998579784}, "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.0002649429999905806}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001026698999993414, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_bulletin.py\", line 724, in test_read_events\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045539699999608274}, "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.0002515979999770934}}, {"call": {"outcome": "passed", "duration": 0.008561188000015818}, "setup": {"outcome": "passed", "duration": 0.00039596599998503734}, "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.00024650800000358686}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000990150999996331, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 28, in test_read_via_obspy\n    st = read(gse2file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000923757000009573}, "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.0001913859999831402}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009015859999976783, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 49, in test_read_head_via_obspy\n    st = read(gse2file, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036973799998918366}, "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.00018401300002324206}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008752469999819823, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 67, in test_read_and_write_via_obspy\n    st1 = read(gse2file)\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003415049999944131}, "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.0001975670000149421}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013393999999777861, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 113, in test_read_and_write_streams_via_obspy\n    st1 = read(tf.name)\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033983200000875513}, "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.00018404200000077253}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00476473900002361, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 159, in test_write_integers_via_obspy\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030080899998097266}, "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.0002089289999958055}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008352020000188531, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 174, in test_tab_complete_stats\n    tr = read(gse2file)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003413350000016635}, "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.0001798149999956422}}, {"call": {"outcome": "passed", "duration": 0.0011201529999880222}, "setup": {"outcome": "passed", "duration": 0.00030579799999941315}, "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.00017167000001450106}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000838479000009329, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 200, in test_read_with_wrong_checksum\n    read(gse2file, verify_chksum=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003775220000079571}, "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.00020968999999126936}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008280899999988378, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 212, in test_read_with_wrong_parameters\n    read(gse2file, verify_chksum=False, starttime=None)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003416460000096322}, "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.00018112700001893245}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008008390000213694, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 221, in test_read_gse1_via_obspy\n    st = read(gse1file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003386889999887899}, "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.0001776999999947293}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00080521700002123, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 238, in test_read_gse1_head_via_obspy\n    st = read(gse1file, headonly=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034880900000189285}, "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.00018727799999851413}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001056835000014189, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 257, in test_read_intv_gse1_via_obspy\n    read(gse1file, verify_chksum=True)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003544090000104916}, "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.00018127699999581637}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007817030000012437, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 295, in test_read_dos\n    st = read(filedos, verify_chksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033737799998334594}, "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.00020649399999683737}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008170189999816557, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 307, in test_read_apply_calib\n    st = read(gse2file, apply_calib=False)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033779800000388605}, "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.00017985400000952723}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002138806999994358, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 327, in test_write_and_read_correct_network\n    tr = read(tmpfile)[0]\n         ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030882400000109556}, "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.000193310000014435}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008489289999999983, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/gse2/tests/test_core.py\", line 337, in test_read_gse2_int_datatype\n    st = read(gse2file, verify_checksum=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005192360000023655}, "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.0002765540000098099}}, {"call": {"outcome": "passed", "duration": 0.006136669999989408}, "setup": {"outcome": "passed", "duration": 0.000828671000022041}, "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.00023513799999363982}}, {"call": {"outcome": "passed", "duration": 0.0013008790000128556}, "setup": {"outcome": "passed", "duration": 0.000792262999993909}, "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.0001696449999997185}}, {"call": {"outcome": "passed", "duration": 0.002233232000008911}, "setup": {"outcome": "passed", "duration": 0.0003382689999966715}, "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.00017193900001188922}}, {"call": {"outcome": "passed", "duration": 0.019878932000011673}, "setup": {"outcome": "passed", "duration": 0.0003491800000006151}, "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.00022487800001158575}}, {"call": {"outcome": "passed", "duration": 0.019042656999999963}, "setup": {"outcome": "passed", "duration": 0.0003969979999851603}, "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.00022822500000074797}}, {"call": {"outcome": "passed", "duration": 0.0004345880000187208}, "setup": {"outcome": "passed", "duration": 0.0004587230000083764}, "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.0001952830000107042}}, {"call": {"outcome": "passed", "duration": 0.0003417249999984051}, "setup": {"outcome": "passed", "duration": 0.0003689660000247841}, "lineno": 118, "nodeid": "io/gse2/tests/test_libgse2.py::TestLibGSE2::test_is_widi_2", "outcome": "passed", "keywords": ["test_is_widi_2", "filterwarnings", "TestLibGSE2", "test_libgse2.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017952299998569288}}, {"call": {"outcome": "passed", "duration": 0.000550212999996802}, "setup": {"outcome": "passed", "duration": 0.00029929699999797776}, "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.00018147800000178904}}, {"call": {"outcome": "passed", "duration": 0.0005570859999863842}, "setup": {"outcome": "passed", "duration": 0.00029418700000860554}, "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.00016973600000369515}}, {"call": {"outcome": "passed", "duration": 0.0005744579999884536}, "setup": {"outcome": "passed", "duration": 0.00035953799999788316}, "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.00016810300002134682}}, {"call": {"outcome": "passed", "duration": 0.0004400880000048346}, "setup": {"outcome": "passed", "duration": 0.0003482569999846419}, "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.000183079999999336}}, {"call": {"outcome": "passed", "duration": 0.0005587889999958406}, "setup": {"outcome": "passed", "duration": 0.0003209669999932885}, "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.00016627899998411522}}, {"call": {"outcome": "passed", "duration": 0.0006315150000091307}, "setup": {"outcome": "passed", "duration": 0.00032840999998029474}, "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.00023711999997999555}}, {"call": {"outcome": "passed", "duration": 0.0002916120000122646}, "setup": {"outcome": "passed", "duration": 0.00037774200001194913}, "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.0001697159999878295}}, {"call": {"outcome": "passed", "duration": 0.00037546900000506866}, "setup": {"outcome": "passed", "duration": 0.0002874650000137535}, "lineno": 36, "nodeid": "io/gse2/tests/test_paz.py::TestPAZ::test_read_without_spaces", "outcome": "passed", "keywords": ["test_read_without_spaces", "filterwarnings", "TestPAZ", "test_paz.py", "tests", "gse2", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001740740000002461}}, {"call": {"outcome": "failed", "duration": 0.007524460999974281, "longrepr": "013 \n014 \n015 Usage Example\n016 -------------\n017 \n018 The PHA reader hooks into the standard ObsPy event handling\n019 mechanisms including format autodetection.\n020 \n021 >>> from obspy import read_events\n022 >>> cat = read_events('/path/to/example.pha')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.hypodd[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007758520000038516}, "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.0002031980000083422}}, {"call": {"outcome": "passed", "duration": 0.0003379489999986163}, "setup": {"outcome": "passed", "duration": 0.0012792590000003656}, "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.000193178999978727}}, {"call": {"outcome": "passed", "duration": 0.0003167090000033568}, "setup": {"outcome": "passed", "duration": 0.0004157930000019405}, "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.00019093500000622043}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008525449999865486, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 28, in test_read_pha\n    cat = read_events(self.fname)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042472999999176864}, "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.0002005229999895164}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007702919999985625, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 65, in test_60s_nan\n    cat = read_events(self.fname2)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004122059999929206}, "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.00021344699999303884}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06262294900000143, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 79, in test_populate_waveform_id\n    cat = read_events(self.fname, inventory=inv)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004028090000076645}, "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.0003129119999982777}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008455720000029032, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 97, in test_eventid_map\n    cat = read_events(self.fname) + read_events(self.fname2)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005362269999977798}, "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.0002268620000052124}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008382979999908002, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 124, in test_write_pha\n    cat = read_events(self.fname)\n          ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004717369999980292}, "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.00020761600001151237}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.015096429999999827, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/hypodd/tests/test_pha.py\", line 146, in test_write_pha_minimal\n    cat2 = read_events(tempfile)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011494370000093568}, "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.00040307899999447727}}, {"call": {"outcome": "passed", "duration": 0.21496550000000525}, "setup": {"outcome": "passed", "duration": 0.0016501480000101765}, "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.00023975600001335806}}, {"call": {"outcome": "passed", "duration": 0.413149446999995}, "setup": {"outcome": "passed", "duration": 0.0004869949999886103}, "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.00024612799998635637}}, {"call": {"outcome": "passed", "duration": 0.20710853099998872}, "setup": {"outcome": "passed", "duration": 0.0004899410000120952}, "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.0002420900000004167}}, {"call": {"outcome": "passed", "duration": 0.21787154399999054}, "setup": {"outcome": "passed", "duration": 0.0004973449999852164}, "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.0002596729999879699}}, {"call": {"outcome": "passed", "duration": 0.00031301300001018717}, "setup": {"outcome": "passed", "duration": 0.000503375999983291}, "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.00018946200000868885}}, {"call": {"outcome": "passed", "duration": 0.00040053500001135944}, "setup": {"outcome": "passed", "duration": 0.00039192899998852226}, "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.0001790729999981977}}, {"call": {"outcome": "passed", "duration": 0.0002923739999971531}, "setup": {"outcome": "passed", "duration": 0.0004005250000034266}, "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.0003128520000075241}}, {"call": {"outcome": "failed", "duration": 0.005249842000011995, "longrepr": "007 Default : a class to create a \"default\" function accepted by the\n008 python :py:mod:`json` module Encoder classes, valid for\n009 :class:`~obspy.core.event.event.Event` objects.\n010 \n011 Example\n012 -------\n013 >>> import json\n014 >>> from obspy import read_events\n015 >>> from obspy.io.json.default import Default\n016 >>> c = read_events()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.json.default[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/json/default.py:16: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000760013000018489}, "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.00017859199999747943}}, {"call": {"outcome": "passed", "duration": 0.0007386230000179239}, "setup": {"outcome": "passed", "duration": 0.0047137440000142306}, "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.00018611599998052952}}, {"call": {"outcome": "passed", "duration": 0.000981475000003229}, "setup": {"outcome": "passed", "duration": 0.0038667399999781082}, "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.0001969360000089182}}, {"call": {"outcome": "passed", "duration": 0.019301176999988456}, "setup": {"outcome": "passed", "duration": 0.0038896330000000034}, "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.00022114099999726022}}, {"call": {"outcome": "failed", "duration": 0.008140625999999429, "longrepr": "015 :license:\n016     GNU Lesser General Public License, Version 3\n017     (https://www.gnu.org/copyleft/lesser.html)\n018 \n019 Reading\n020 -------\n021 Similar to reading any other waveform data format using obspy.core:\n022 \n023     >>> from obspy import read\n024     >>> st = read(\"/path/to/BI008_MEMA-04823.evt\", apply_calib=False)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.kinemetrics[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007797400000129073}, "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.00020170499999494496}}, {"call": {"outcome": "passed", "duration": 0.001277145000017299}, "setup": {"outcome": "passed", "duration": 0.0011647150000158035}, "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.00017504599998119375}}, {"call": {"outcome": "passed", "duration": 0.0006423549999965417}, "setup": {"outcome": "passed", "duration": 0.0003582159999950818}, "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.00016600899999730245}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000929278000000977, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 69, in test_read_via_obspy1\n    st = read(filename, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003523749999772008}, "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.00017895199999884426}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000931892000011203, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 95, in test_read_via_obspy2\n    st = read(filename, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003384199999914017}, "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.0002026769999758926}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006778300000007675, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 125, in test_read_via_obspy_and_bytesio1\n    st = read(buf, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033485299999824747}, "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.00018527500000686814}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005220299999848521, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kinemetrics/tests/test_core.py\", line 155, in test_read_via_obspy_and_bytesio2\n    st = read(buf, apply_calib=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033533300000954114}, "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.00019855900001175542}}, {"call": {"outcome": "passed", "duration": 0.03655871600000182}, "setup": {"outcome": "passed", "duration": 0.00034693500001026223}, "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.00029478799999083094}}, {"call": {"outcome": "passed", "duration": 0.0853155030000039}, "setup": {"outcome": "passed", "duration": 0.000570632000005844}, "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.0002544630000045345}}, {"call": {"outcome": "passed", "duration": 0.1232255319999922}, "setup": {"outcome": "passed", "duration": 0.0007408170000076097}, "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.00025473400000919355}}, {"call": {"outcome": "passed", "duration": 0.03641660200000274}, "setup": {"outcome": "passed", "duration": 0.00043763400000784713}, "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.0003616520000093715}}, {"call": {"outcome": "failed", "duration": 0.0659087680000141, "longrepr": "006 format.\n007 \n008 Write support works via the ObsPy plugin structure for\n009 :class:`~obspy.core.event.Catalog` and\n010 :class:`~obspy.core.inventory.inventory.Inventory`:\n011 \n012 >>> from obspy import read_inventory, read_events\n013 >>> inv = read_inventory()  # load example data\n014 >>> inv.write(\"my_stations.kml\", format=\"KML\")  # doctest: +SKIP\n015 >>> cat = read_events()  # load example data\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.kml[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kml/__init__.py:15: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008843150000075184}, "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.00026851999999166765}}, {"call": {"outcome": "passed", "duration": 0.07684553400000027}, "setup": {"outcome": "passed", "duration": 0.0012800400000116952}, "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.00023771100001113155}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001398370000003979, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/kml/tests/test_kml.py\", line 33, in test_write_catalog\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004335760000060418}, "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.00027112399999396075}}, {"call": {"outcome": "failed", "duration": 0.008312345000007326, "longrepr": "022 \n023 Reading\n024 -------\n025 \n026 Reading MiniSEED (and the data part of full SEED files) is handled by using\n027 ObsPy's standard :func:`~obspy.core.stream.read` function. The format is\n028 detected automatically.\n029 \n030 >>> from obspy import read\n031 >>> st = read(\"/path/to/test.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/__init__.py:31: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008320770000125322}, "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.00020528199999603203}}, {"call": {"outcome": "failed", "duration": 0.008320169999990412, "longrepr": "368     :param use_bisection: If ``True``, use bisection to locate the start and\n369         end times directly in the file, avoiding a full read. This can reduce\n370         processing time by up to an order of magnitude when a time window is\n371         specified, and is particularly important for large miniSEED files\n372         (e.g., > 2 GB). Only applies to strictly ordered, single-channel files;\n373         the code falls back to the default behavior otherwise.\n374     .. rubric:: Example\n375 \n376     >>> from obspy import read\n377     >>> st = read(\"/path/to/two_channels.mseed\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed.core._read_mseed[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/core.py:377: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004469809999818608}, "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.0002119540000080633}}, {"call": {"outcome": "failed", "duration": 0.0066217320000134805, "longrepr": "808         The ``stats.mseed.blkt1001.timing_quality`` value will also be written\n809         if it is set.\n810 \n811         The ``stats.mseed.blkt1001.timing_quality`` value will also be written\n812         if it is set.\n813 \n814     .. rubric:: Example\n815 \n816     >>> from obspy import read\n817     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.mseed.core._write_mseed[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/core.py:817: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003634960000056253}, "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.0002188169999897127}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003395584000003282, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 44, in test_read_head_file_via_obspy\n    stream = read(gapfile, headonly=True)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0016065069999910975}, "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.00020436900001641334}}, {"call": {"outcome": "passed", "duration": 0.013906646999998884}, "setup": {"outcome": "passed", "duration": 0.00038600799999244373}, "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.00028012100000296414}}, {"call": {"outcome": "passed", "duration": 0.5145035139999834}, "setup": {"outcome": "passed", "duration": 0.00044295300000385396}, "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.0003166789999795583}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019026070000052187, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 161, in test_downcast_int64_to_int32\n    st2 = read(buf)\n          ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040152599999032645}, "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.00019384999998806052}}, {"call": {"outcome": "passed", "duration": 0.0040141539999751785}, "setup": {"outcome": "passed", "duration": 0.0003482270000176868}, "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.0001673620000133269}}, {"call": {"outcome": "passed", "duration": 0.00994192499999258}, "setup": {"outcome": "passed", "duration": 0.00033917099997893274}, "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.0001918769999917913}}, {"call": {"outcome": "passed", "duration": 0.0023191420000046037}, "setup": {"outcome": "passed", "duration": 0.00040352999999981876}, "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.00018703800000707815}}, {"call": {"outcome": "passed", "duration": 0.000522200999995448}, "setup": {"outcome": "passed", "duration": 0.00033656600001563675}, "lineno": 304, "nodeid": "io/mseed/tests/test_mseed_reading_and_writing.py::TestMSEEDReadingAndWriting::test_read_single_record_to_msr", "outcome": "passed", "keywords": ["test_read_single_record_to_msr", "filterwarnings", "TestMSEEDReadingAndWriting", "test_mseed_reading_and_writing.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016359399998577828}}, {"call": {"outcome": "passed", "duration": 0.03122373600001538}, "setup": {"outcome": "passed", "duration": 0.00034107400000493726}, "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.00020690499999886924}}, {"call": {"outcome": "passed", "duration": 0.001600566000007575}, "setup": {"outcome": "passed", "duration": 0.00041493199998399177}, "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.00017870199999947545}}, {"call": {"outcome": "passed", "duration": 0.0015745080000044709}, "setup": {"outcome": "passed", "duration": 0.00041168499998889274}, "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.00018014500000163025}}, {"call": {"outcome": "passed", "duration": 0.001980071999980737}, "setup": {"outcome": "passed", "duration": 0.00041245799999956034}, "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.00020440000000121472}}, {"call": {"outcome": "passed", "duration": 0.0011998509999955331}, "setup": {"outcome": "passed", "duration": 0.0004168449999895074}, "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.00019047399999294612}}, {"call": {"outcome": "passed", "duration": 0.2689756050000085}, "setup": {"outcome": "passed", "duration": 0.0003893340000047374}, "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.00022239399999079978}}, {"call": {"outcome": "passed", "duration": 0.007426557999991701}, "setup": {"outcome": "passed", "duration": 0.0003960570000174357}, "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.00018261899998606168}}, {"call": {"outcome": "passed", "duration": 0.0026266739999982747}, "setup": {"outcome": "passed", "duration": 0.0003136939999990318}, "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.00018592499998248968}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009537929999794414, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 605, in test_read_ms_traces_via_records_multiple_ids\n    st = read(file, starttime=starttime, endtime=endtime)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035039199997299875}, "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.00021056099998872924}}, {"call": {"outcome": "passed", "duration": 0.008086615999985725}, "setup": {"outcome": "passed", "duration": 0.0003017009999837228}, "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.0001751359999957458}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002858705999983613, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 728, in test_write_and_read_different_record_lengths\n    temp_st = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033652600001232713}, "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.00018031499999437983}}, {"call": {"outcome": "passed", "duration": 0.002389884000024267}, "setup": {"outcome": "passed", "duration": 0.0003422169999964808}, "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.00016488699998262746}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002914027999992186, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 752, in test_read_with_wild_card\n    st = read(files)\n         ^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003374579999899652}, "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.0001877890000230309}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002726539000008188, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 775, in test_header\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030617999999549284}, "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.00017973499998902298}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003698987000007037, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 825, in test_reading_and_writing_via_the_stats_attribute\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030192100001613653}, "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.00027021200000376666}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008712499999887768, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 843, in test_read_parts_of_file\n    tr1 = read(file, starttime=t[0], endtime=t[1])[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032992399999898225}, "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.0001758759999859194}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008123710000234041, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 858, in test_read_with_gse2_option\n    tr = read(file, verify_chksum=True, starttime=None)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005340630000034707}, "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.00017787100000532519}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007889670000054139, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 872, in test_all_data_types_and_endians_in_multiple_files\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033981199999288947}, "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.00017312200000674238}}, {"call": {"outcome": "passed", "duration": 0.001946499999974094}, "setup": {"outcome": "passed", "duration": 0.00029387699999006145}, "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.00016850399998702414}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.010170469999991383, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 923, in test_all_data_types_and_endians_in_single_file\n    st2 = read(tempfile)\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029778300000771196}, "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.00017491500000232918}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007949080000173581, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 939, in test_enforce_steim2_with_steim1_as_encoding\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00049619199998574}, "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.0001776309999854675}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010031159999925876, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 987, in test_files_from_libmseed\n    st = read(cur_file)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033938100000341365}, "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.00017563700001232974}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007730480000134321, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1018, in test_writing_microseconds\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033782799999926283}, "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.00017496500001357163}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005024743000006993, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1067, in test_reading_and_writing_dataquality\n    stream = read(tempfile)\n             ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002972730000010415}, "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.00018734799999720053}}, {"call": {"outcome": "passed", "duration": 0.0010488099999861333}, "setup": {"outcome": "passed", "duration": 0.00029858499999591004}, "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.00016615900000260808}}, {"call": {"outcome": "passed", "duration": 0.0003751579999971}, "setup": {"outcome": "passed", "duration": 0.0003513230000180556}, "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.00017968399998835594}}, {"call": {"outcome": "passed", "duration": 0.00030048900001133916}, "setup": {"outcome": "passed", "duration": 0.0003183010000213926}, "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.00015747300000157338}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008672930000273027, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1131, in test_bizarre_files\n    st1 = read(datapath / \"bizarre\" /\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032988399999567264}, "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.0001798849999943286}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0032497729999931835, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1176, in test_write_and_read_different_encodings\n    st2 = read(tempfile)\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000299557999994704}, "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.00018367199999147488}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023244019999992815, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1197, in test_issue376\n    st = read(tempfile)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030956599999854006}, "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.00020214700001019992}}, {"call": {"outcome": "passed", "duration": 0.0021995200000048953}, "setup": {"outcome": "passed", "duration": 0.0002987750000045253}, "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.0001726710000014009}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008454320000055304, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1227, in test_read_timing_qual\n    st = read(filename, details=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036005999999133564}, "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.00017804099999807477}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008093450000217217, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1255, in test_corrupt_file_length\n    st = read(filename, reclen=512)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003331789999947432}, "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.00017624799997406626}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008917290000169942, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1268, in test_verbosity\n    st = read(filename, verbose=2)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003318770000078075}, "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.00017958399999429275}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023983899999961977, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1282, in test_writing_with_some_encoding_fails\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002939170000217928}, "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.00017783000001259097}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007866130000024896, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1328, in test_reading_geoscope_16bit_4bit_exponent_format\n    tr = read(testdata['GEOSCOPE16_4_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033835900001122354}, "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.0001793929999962529}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008062899999856654, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1343, in test_reading_sro_format\n    tr = read(testdata['SRO_encoding.mseed']).select(component=\"Z\")[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033407099999749335}, "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.0001794929999903161}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008053470000106699, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1354, in test_reading_dwwssn_format\n    tr = read(testdata['DWWSSN_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003375379999965844}, "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.00018172800000115785}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007731869999929586, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1365, in test_reading_cdsn_format\n    tr = read(testdata['CDSN_encoding.mseed'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033498299998768744}, "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.00017857200001003548}}, {"call": {"outcome": "passed", "duration": 0.004704277000001866}, "setup": {"outcome": "passed", "duration": 0.0002945669999974143}, "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.00017328199999155913}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003250944999990679, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1611, in test_libmseed_test_cases\n    assert_valid(test_file, ref_file, test_type)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1445, in assert_valid\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032133800002043245}, "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.00017574599999647944}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000508715999984588, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1633, in test_per_trace_mseed_attributes\n    st = read(buf)\n         ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033283900000924405}, "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.00017828099998951075}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008002479999902334, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1670, in test_read_mseed_sr0\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033639500000504086}, "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.00017654800001309923}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017663139999797295, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_reading_and_writing.py\", line 1692, in test_reading_and_writing_zero_sampling_rate_traces\n    tr2 = read(buf)[0]\n          ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029971800000794246}, "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.0002727269999809323}}, {"call": {"outcome": "passed", "duration": 0.0005709809999814297}, "setup": {"outcome": "passed", "duration": 0.0005628669999850899}, "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.0001686940000240611}}, {"call": {"outcome": "passed", "duration": 0.0005193260000169175}, "setup": {"outcome": "passed", "duration": 0.00034560299999952804}, "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.0001830810000171823}}, {"call": {"outcome": "passed", "duration": 0.0005895660000021508}, "setup": {"outcome": "passed", "duration": 0.00031293200001414334}, "lineno": 98, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_ctypes_arg_types", "outcome": "passed", "keywords": ["test_ctypes_arg_types", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015978700000118806}}, {"call": {"outcome": "passed", "duration": 0.0021819460000074287}, "setup": {"outcome": "passed", "duration": 0.0009900510000022678}, "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.00017123799997875722}}, {"call": {"outcome": "passed", "duration": 0.003354077000011557}, "setup": {"outcome": "passed", "duration": 0.00032119700000521334}, "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.00017082799999457166}}, {"call": {"outcome": "passed", "duration": 0.002846511999990753}, "setup": {"outcome": "passed", "duration": 0.00034711499998252293}, "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.00017032599998856313}}, {"call": {"outcome": "passed", "duration": 0.0024963810000144804}, "setup": {"outcome": "passed", "duration": 0.0003520940000214523}, "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.00016875299999696836}}, {"call": {"outcome": "passed", "duration": 0.0019168139999976574}, "setup": {"outcome": "passed", "duration": 0.0003223399999967569}, "lineno": 230, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_invalid_data_type", "outcome": "passed", "keywords": ["test_invalid_data_type", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001673210000205927}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008936010000013539, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 265, in test_write_wrong_encoding\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037911399999757123}, "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.00021445900000571783}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008842340000114746, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 282, in test_write_wrong_encoding_via_mseed_stats\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003556810000020505}, "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.00017617800000380157}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008157470000185185, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 300, in test_wrong_record_length_as_argument\n    read(file, reclen=111)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034145500001159235}, "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.00019571499998960462}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007915220000143108, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 315, in test_read_with_missing_blockette010\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036062099999867314}, "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.00017760999998017724}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007703119999860064, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 331, in test_issue160\n    tr_one = read(file)[0]\n             ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035387799999853087}, "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.00017489499998646352}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007762829999933274, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 351, in test_issue217\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035457900000324116}, "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.00017556600002421874}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023740949999933036, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 367, in test_issue296\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003416549999997187}, "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.00020218599999566322}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007901300000128231, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 444, in test_issue289\n    st = read(file, starttime=UTCDateTime() - 10, endtime=UTCDateTime())\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003562730000226111}, "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.00017751999999404688}}, {"call": {"outcome": "passed", "duration": 0.000359508999991931}, "setup": {"outcome": "passed", "duration": 0.00037236200000734243}, "lineno": 450, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_issue312", "outcome": "passed", "keywords": ["test_issue312", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016123000000334287}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007800799999984065, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 481, in test_issue272\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034607299997446717}, "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.00017743999998742765}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007996070000046984, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 495, in test_issue325\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000355469999988145}, "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.0001821689999985665}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002238782999995692, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 533, in test_issue332\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032330999999885535}, "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.00017628800000579758}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022097089999988384, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 551, in test_issue341\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003235019999863198}, "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.0001762279999866223}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008193030000143153, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 574, in test_issue485\n    data = read(filename)[0].data.tolist()\n           ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003689360000009856}, "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.00017820100001131323}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0017265900000040801, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 594, in test_enforcing_reading_byteorder\n    tr2 = read(memfile, header_byteorder=\"<\")[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003227299999934985}, "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.00017563599999448343}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001824111000019002, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 651, in test_long_year_range\n    st2 = read(memfile)\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031842199999232434}, "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.0001752360000182307}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007988459999808128, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 666, in test_full_seed_with_non_default_dataquality\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036315500000227985}, "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.00017412300002206393}}, {"call": {"stderr": "Process Process-1:\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/process.py\", line 314, in _bootstrap\n    self.run()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/multiprocessing/process.py\", line 108, in run\n    self._target(*self._args, **self._kwargs)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 43, in _test_function\n    st = read(filename)  # noqa @UnusedVariable\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n", "outcome": "passed", "duration": 0.02870493300000021}, "setup": {"outcome": "passed", "duration": 0.00036601099998279096}, "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.00038559699999041186}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0030541190000121787, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 737, in test_microsecond_accuracy_reading_and_writing_before_1970\n    tr2 = read(fh)[0]\n          ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005851489999884052}, "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.00020061299997564674}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011537849999854188, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 750, in test_reading_noise_records\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043735399998467983}, "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.00024247100000707178}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008848250000141888, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 772, in test_read_file_with_various_noise_records\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038073799998983304}, "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.00019496199999480268}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010674149999942983, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 806, in test_mseed_zero_data_offset\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040214800000626383}, "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.00018646600000238323}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014292070000010426, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 846, in test_mseed_zero_data_headonly\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003714309999907073}, "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.00020208600000160004}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012051199999802975, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 887, in test_read_file_with_microsecond_wrap\n    tr = read(file)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003755879999971512}, "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.0001938099999847509}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008577039999977387, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 914, in test_reading_miniseed_with_no_blockette_1000\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003721020000000408}, "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.00020135400001208836}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0029201399999863042, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 948, in test_writing_of_blockette_100\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034085400000094523}, "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.00019988100001455678}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008616920000008577, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 1030, in test_reading_file_with_data_offset_of_48\n    st = read(file)\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004334459999881801}, "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.00018660700001760233}}, {"call": {"outcome": "passed", "duration": 0.0018290509999872029}, "setup": {"outcome": "passed", "duration": 0.00040866000000505665}, "lineno": 1042, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_reading_truncated_miniseed_files", "outcome": "passed", "keywords": ["test_reading_truncated_miniseed_files", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017501600001423867}}, {"call": {"outcome": "passed", "duration": 0.001545354000000998}, "setup": {"outcome": "passed", "duration": 0.00037272299999813185}, "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.00017169899999203153}}, {"call": {"outcome": "passed", "duration": 0.005411051000010048}, "setup": {"outcome": "passed", "duration": 0.00037817300000142495}, "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.00016995600000768718}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py", "lineno": 1155, "message": "assert 5 == (512 // 128)\n +  where 5 = len([<warnings.WarningMessage object at 0x7fc00faf8b60>, <warnings.WarningMessage object at 0x7fc00fafa4e0>, <warnings.War...x7fc00faf83b0>, <warnings.WarningMessage object at 0x7fc00faf8cb0>, <warnings.WarningMessage object at 0x7fc00fafad20>])"}, "outcome": "failed", "duration": 0.00572646800000598, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 1155, in test_read_file_with_non_valid_blocks_in_between\n    assert len(w) == length // 128\nAssertionError: assert 5 == (512 // 128)\n +  where 5 = len([<warnings.WarningMessage object at 0x7fc00faf8b60>, <warnings.WarningMessage object at 0x7fc00fafa4e0>, <warnings.War...x7fc00faf83b0>, <warnings.WarningMessage object at 0x7fc00faf8cb0>, <warnings.WarningMessage object at 0x7fc00fafad20>])"}, "setup": {"outcome": "passed", "duration": 0.00037929499998767824}, "lineno": 1131, "nodeid": "io/mseed/tests/test_mseed_special_issues.py::TestMSEEDSpecialIssue::test_read_file_with_non_valid_blocks_in_between", "outcome": "failed", "keywords": ["test_read_file_with_non_valid_blocks_in_between", "filterwarnings", "TestMSEEDSpecialIssue", "test_mseed_special_issues.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018053499999837186}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009015269999963493, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/mseed/tests/test_mseed_special_issues.py\", line 1201, in test_reading_files_with_non_ascii_headers\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003757890000031239}, "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.0003639469999825451}}, {"call": {"outcome": "passed", "duration": 0.0005906480000135161}, "setup": {"outcome": "passed", "duration": 0.000593663999978844}, "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.0001715790000105244}}, {"call": {"outcome": "passed", "duration": 0.0004903420000061942}, "setup": {"outcome": "passed", "duration": 0.00034086400000887807}, "lineno": 129, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_convert_datetime2", "outcome": "passed", "keywords": ["test_convert_datetime2", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016650999998546467}}, {"call": {"outcome": "passed", "duration": 0.0011911440000176299}, "setup": {"outcome": "passed", "duration": 0.0010981519999972988}, "lineno": 152, "nodeid": "io/mseed/tests/test_mseed_util.py::TestMSEEDUtil::test_get_record_information", "outcome": "passed", "keywords": ["test_get_record_information", "filterwarnings", "TestMSEEDUtil", "test_mseed_util.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016645999997422223}}, {"call": {"outcome": "passed", "duration": 0.0005666539999822362}, "setup": {"outcome": "passed", "duration": 0.00037944599998240847}, "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.00017456399999105088}}, {"call": {"outcome": "passed", "duration": 0.0007396249999942484}, "setup": {"outcome": "passed", "duration": 0.0003749169999878177}, "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.00016047900001581183}}, {"call": {"outcome": "passed", "duration": 0.0041107640000177526}, "setup": {"outcome": "passed", "duration": 0.00040053500001135944}, "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.00017794100000401158}}, {"call": {"outcome": "passed", "duration": 0.11921186899999725}, "setup": {"outcome": "passed", "duration": 0.00031996499998854233}, "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.0002963510000029146}}, {"call": {"outcome": "passed", "duration": 0.1011336040000117}, "setup": {"outcome": "passed", "duration": 0.0005371480000064821}, "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.0002635099999963586}}, {"call": {"outcome": "passed", "duration": 0.006260449999984985}, "setup": {"outcome": "passed", "duration": 0.0004863640000110081}, "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.0002050620000204617}}, {"call": {"outcome": "passed", "duration": 0.016043320999983735}, "setup": {"outcome": "passed", "duration": 0.0004592539999919154}, "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.00024404399999866655}}, {"call": {"outcome": "passed", "duration": 0.0017081259999827125}, "setup": {"outcome": "passed", "duration": 0.0004275049999762359}, "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.00019843900000182657}}, {"call": {"outcome": "passed", "duration": 0.0015888739999923018}, "setup": {"outcome": "passed", "duration": 0.0004233469999803674}, "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.0001942609999900924}}, {"call": {"outcome": "passed", "duration": 0.014563327999979947}, "setup": {"outcome": "passed", "duration": 0.00039305100000319726}, "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.00019304899998928704}}, {"call": {"outcome": "passed", "duration": 0.010357307999981913}, "setup": {"outcome": "passed", "duration": 0.0004028089999792428}, "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.00021001000001774628}}, {"call": {"outcome": "passed", "duration": 0.0064924120000000585}, "setup": {"outcome": "passed", "duration": 0.0003791149999869958}, "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.00017737899997882778}}, {"call": {"outcome": "passed", "duration": 0.0077461230000039905}, "setup": {"outcome": "passed", "duration": 0.0003380990000039219}, "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.00017537699997660638}}, {"call": {"outcome": "passed", "duration": 0.002390254000005143}, "setup": {"outcome": "passed", "duration": 0.0003454820000001746}, "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.00017328199999155913}}, {"call": {"outcome": "passed", "duration": 0.0019988059999889174}, "setup": {"outcome": "passed", "duration": 0.00034617299999695206}, "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.00016991600000437757}}, {"call": {"outcome": "passed", "duration": 0.05075819900000056}, "setup": {"outcome": "passed", "duration": 0.00033161600001108127}, "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.00030576800000403637}}, {"call": {"outcome": "passed", "duration": 0.004291829999999663}, "setup": {"outcome": "passed", "duration": 0.0004945000000020627}, "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.00022167300002706725}}, {"call": {"outcome": "passed", "duration": 0.00881407899998976}, "setup": {"outcome": "passed", "duration": 0.00040134700000749035}, "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.00019622400000685047}}, {"call": {"outcome": "passed", "duration": 0.0006132510000043112}, "setup": {"outcome": "passed", "duration": 0.0004392769999981283}, "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.00018133699998656994}}, {"call": {"outcome": "passed", "duration": 0.002009587000003421}, "setup": {"outcome": "passed", "duration": 0.00038985499998034356}, "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.00028307599998811384}}, {"call": {"outcome": "passed", "duration": 0.0017548630000021603}, "setup": {"outcome": "passed", "duration": 0.0013341199999956643}, "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.00018598500000166496}}, {"call": {"outcome": "passed", "duration": 0.0014584410000111347}, "setup": {"outcome": "passed", "duration": 0.00039240899999981593}, "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.0002018959999929848}}, {"call": {"outcome": "passed", "duration": 0.0026652049999995597}, "setup": {"outcome": "passed", "duration": 0.0003588069999977961}, "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.0002051310000013018}}, {"call": {"outcome": "passed", "duration": 0.0011906339999825377}, "setup": {"outcome": "passed", "duration": 0.0003693669999904614}, "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.0001870579999945221}}, {"call": {"outcome": "passed", "duration": 0.0012877040000205398}, "setup": {"outcome": "passed", "duration": 0.00038770000000454274}, "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.00020264600001951294}}, {"call": {"outcome": "passed", "duration": 0.0014963220000083766}, "setup": {"outcome": "passed", "duration": 0.00035847600000238344}, "lineno": 285, "nodeid": "io/mseed/tests/test_recordanalyzer.py::TestRecordAnalyser::test_sine_cal_blockette", "outcome": "passed", "keywords": ["test_sine_cal_blockette", "filterwarnings", "TestRecordAnalyser", "test_recordanalyzer.py", "tests", "mseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018207900001243615}}, {"call": {"outcome": "passed", "duration": 0.001292193000011821}, "setup": {"outcome": "passed", "duration": 0.00035862699999711367}, "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.00028268599999137223}}, {"call": {"outcome": "passed", "duration": 0.06126651700000707}, "setup": {"outcome": "passed", "duration": 0.0005039570000064941}, "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.00025481299999796647}}, {"call": {"outcome": "passed", "duration": 0.007093128999997589}, "setup": {"outcome": "passed", "duration": 0.00041717599998492005}, "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.00019457199999806107}}, {"call": {"outcome": "passed", "duration": 0.009125406999999086}, "setup": {"outcome": "passed", "duration": 0.0003796659999864005}, "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.00019618499999296546}}, {"call": {"outcome": "failed", "duration": 0.008126680000003716, "longrepr": "051     Furthermore the depth values will be converted to ``m`` and the source time\n052     function duration will be doubled to adhere to the QuakeML standard.  The\n053     region name in the NDK file will be replaced with its full Flinn-Engdahl\n054     region name using ObsPy's built-in region parser.\n055 \n056 The :func:`~obspy.core.event.read_events` method is used to read NDK files to\n057 :class:`~obspy.core.event.Catalog` objects.\n058 \n059 >>> import obspy\n060 >>> cat = obspy.read_events(\"/path/to/C200604092050A.ndk\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.ndk[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/__init__.py:60: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009090009999965787}, "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.00018893099999672813}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.015476375999980974, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 26, in test_read_single_ndk\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012528000000031625}, "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.00018805000001975714}}, {"call": {"outcome": "passed", "duration": 0.028356826000020874}, "setup": {"outcome": "passed", "duration": 0.0003710499999840522}, "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.00023467700000878722}}, {"call": {"outcome": "passed", "duration": 0.0007611949999954959}, "setup": {"outcome": "passed", "duration": 0.00039709799997922346}, "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.00017754999998942367}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008216780000225299, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 85, in test_reading_using_obspy_plugin\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003695469999911438}, "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.00017997399999103436}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004176470000061272, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 100, in test_reading_from_string_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035056199999417004}, "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.0001823089999959393}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00037768200002119556, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 116, in test_reading_from_bytes_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003510120000100869}, "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.00019548299999883056}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005607429999940905, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 130, in test_reading_from_open_file_in_text_mode\n    cat = read_events(fh)\n          ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003992820000178199}, "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.0001871279999932085}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00038742000000979715, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 143, in test_reading_from_open_file_in_binary_mode\n    cat = read_events(fh)\n          ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033671599999252066}, "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.0001854749999949945}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007672570000067935, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 157, in test_reading_the_same_file_twice_does_not_raise_a_warnings\n    cat_1 = read_events(filename)\n            ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000361142000002701}, "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.00018982299999947827}}, {"call": {"outcome": "passed", "duration": 0.00033380099998225887}, "setup": {"outcome": "passed", "duration": 0.00035408799999459006}, "lineno": 175, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk_for_file_with_invalid_date", "outcome": "passed", "keywords": ["test_is_ndk_for_file_with_invalid_date", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001879689999952916}}, {"call": {"outcome": "passed", "duration": 0.00042089300001180163}, "setup": {"outcome": "passed", "duration": 0.000318552000010186}, "lineno": 181, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk_for_file_with_invalid_latitude", "outcome": "passed", "keywords": ["test_is_ndk_for_file_with_invalid_latitude", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016745099998161095}}, {"call": {"outcome": "passed", "duration": 0.0003746470000010049}, "setup": {"outcome": "passed", "duration": 0.0003306450000195582}, "lineno": 187, "nodeid": "io/ndk/tests/test_ndk.py::TestNDK::test_is_ndk_for_file_with_infeasible_latitude", "outcome": "passed", "keywords": ["test_is_ndk_for_file_with_infeasible_latitude", "filterwarnings", "TestNDK", "test_ndk.py", "tests", "ndk", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001684140000008938}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007481819999952677, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 202, in test_reading_file_with_multiple_errors\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031965400000899535}, "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.0001786120000133451}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007324320000066109, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 222, in test_reading_from_string\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036758400000280744}, "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.00018591599999240316}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007240959999990082, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 239, in test_reading_from_bytestring\n    ref_cat = read_events(reference)\n              ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003604300000006333}, "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.00018749800000250616}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004229570000120475, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 262, in test_missing_lines\n    cat = read_events(data)\n          ^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036167199999681543}, "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.00020223599997848396}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012131849999832411, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 280, in test_reading_event_with_faulty_but_often_occurring_timestamp\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032947200000421617}, "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.00019258800000443443}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00045125899998765817, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/ndk/tests/test_ndk.py\", line 302, in test_raise_exception_if_no_events_in_file\n    read_events(data)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003412640000135525}, "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.00018516500000487213}}, {"call": {"outcome": "passed", "duration": 0.003223192999996627}, "setup": {"outcome": "passed", "duration": 0.00031241100001011546}, "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.0002596829999959027}}, {"call": {"outcome": "failed", "duration": 0.008306635000025153, "longrepr": "013     GNU Lesser General Public License, Version 3\n014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 \n019 It works by utilizing ObsPy's :func:`~obspy.core.event.read_events` function.\n020 \n021 >>> import obspy\n022 >>> cat = obspy.read_events(\"/path/to/FNETMTCATALOG\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.nied[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008488180000085777}, "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.00017909300001406336}}, {"call": {"outcome": "passed", "duration": 0.020787502000018776}, "setup": {"outcome": "passed", "duration": 0.0011506600000075196}, "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.00019040399999425972}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003767199999913373, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_fnetmt_reading.py\", line 26, in test_read_fnetmt_catalog_from_open_files\n    read_events(fh)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003679639999916162}, "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.00018425199999683173}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0003738749999797619, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_fnetmt_reading.py\", line 38, in test_read_fnetmt_catalog_from_bytes_io\n    read_events(buf)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035837699999774486}, "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.00020201600000291364}}, {"call": {"outcome": "passed", "duration": 0.0004648750000058044}, "setup": {"outcome": "passed", "duration": 0.0003386989999967227}, "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.00024060799998437687}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008882909999954336, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 16, in test_read_knet_ascii\n    tr = read(testfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008087339999747201}, "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.0001903949999757515}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001033931999984361, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 30, in test_read_knet_ascii_from_open_files\n    tr = read(testfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003403929999876709}, "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.00020837699997855452}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000465795999986085, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 49, in test_read_knet_ascii_from_bytes_io\n    tr = read(buf)[0]\n         ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003363049999904888}, "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.00019927999997548795}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007901300000128231, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nied/tests/test_knet_reading.py\", line 65, in test_station_name_hack\n    tr = read(testfile, convert_stnm=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033692700000642617}, "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.00018720799999982773}}, {"call": {"outcome": "passed", "duration": 0.0004251310000142894}, "setup": {"outcome": "passed", "duration": 0.0003369359999965127}, "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.00024053699999626588}}, {"call": {"outcome": "passed", "duration": 0.003006330000005164}, "setup": {"outcome": "passed", "duration": 0.0004510279999863087}, "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.00017983500001150787}}, {"call": {"outcome": "failed", "duration": 0.008289862999987463, "longrepr": "014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 If NonLinLoc location run was performed using one of the standard projections\n019 available in the NonLinLoc package, it is straightforward to read a NonLinLoc\n020 Hypocenter-Phase file into an ObsPy :class:`~obspy.core.event.Catalog` object:\n021 \n022 >>> from obspy import read_events\n023 >>> cat = read_events(\"/path/to/nlloc.hyp\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.nlloc[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008030740000037895}, "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.00021690299999477247}}, {"call": {"outcome": "passed", "duration": 0.02752651199998013}, "setup": {"outcome": "passed", "duration": 0.0012174839999943288}, "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.0002124050000134048}}, {"call": {"outcome": "passed", "duration": 0.07903376300001241}, "setup": {"outcome": "passed", "duration": 0.00033923999998819454}, "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.00023010800001088683}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.006315712999992229, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/tests/test_core.py\", line 117, in test_read_nlloc_hyp_with_builtin_projection\n    cat_expected = read_events(testdata[\"nlloc.qml\"])\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041382899999575784}, "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.00020237600000427847}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007732770000075107, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/tests/test_core.py\", line 222, in test_read_nlloc_hyp_via_plugin\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036582000001317283}, "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.0002068949999909364}}, {"call": {"outcome": "passed", "duration": 0.022440013999982966}, "setup": {"outcome": "passed", "duration": 0.00034691499999439657}, "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.0002202189999991333}}, {"call": {"outcome": "passed", "duration": 0.0003974990000017442}, "setup": {"outcome": "passed", "duration": 0.0003812489999859281}, "lineno": 258, "nodeid": "io/nlloc/tests/test_core.py::TestNLLOC::test_is_nlloc_hyp", "outcome": "passed", "keywords": ["test_is_nlloc_hyp", "filterwarnings", "TestNLLOC", "test_core.py", "tests", "nlloc", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017948400000022957}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008329589999789277, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nlloc/tests/test_core.py\", line 274, in test_read_nlloc_with_picks\n    picks = read_events(testdata[\"nlloc_custom.qml\"])[0].picks\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003302940000082799}, "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.00018724800000313735}}, {"call": {"outcome": "passed", "duration": 0.0050385780000112845}, "setup": {"outcome": "passed", "duration": 0.00034718599999905564}, "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.0001860059999785335}}, {"call": {"outcome": "passed", "duration": 0.006308008999980075}, "setup": {"outcome": "passed", "duration": 0.0003416559999891433}, "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.00017832199998224496}}, {"call": {"outcome": "passed", "duration": 0.0046798420000015994}, "setup": {"outcome": "passed", "duration": 0.0003363159999878462}, "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.00017990399999234796}}, {"call": {"outcome": "passed", "duration": 0.0035159569999905216}, "setup": {"outcome": "passed", "duration": 0.0003495599999894239}, "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.00018355099999212143}}, {"call": {"outcome": "passed", "duration": 0.003997212000001582}, "setup": {"outcome": "passed", "duration": 0.0003579360000003362}, "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.00017739000000460692}}, {"call": {"outcome": "passed", "duration": 0.00022446699998113218}, "setup": {"outcome": "passed", "duration": 0.00030480600000259983}, "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.00026472199999716395}}, {"call": {"outcome": "passed", "duration": 0.0006970760000228893}, "setup": {"outcome": "passed", "duration": 0.000877802000019301}, "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.0002050610000026154}}, {"call": {"outcome": "passed", "duration": 0.11970212099998889}, "setup": {"outcome": "passed", "duration": 0.00033935100000803686}, "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.000351354000002857}}, {"call": {"outcome": "passed", "duration": 0.003042136999994227}, "setup": {"outcome": "passed", "duration": 0.000924268000005668}, "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.00017598700000576173}}, {"call": {"outcome": "passed", "duration": 0.0408977539999853}, "setup": {"outcome": "passed", "duration": 0.000826556999982131}, "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.00020090300000674688}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.05690805300000079, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 165, in test_write_read_quakeml\n    cat_back = read_events(tf.name)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0008114989999796762}, "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.00022560900001167283}}, {"call": {"outcome": "passed", "duration": 0.004124058000002151}, "setup": {"outcome": "passed", "duration": 0.0003735839999876589}, "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.00018081599998254205}}, {"call": {"outcome": "passed", "duration": 0.030365130000006957}, "setup": {"outcome": "passed", "duration": 0.00029570000000944674}, "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.0002020759999936672}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023580849999973452, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 262, in test_blanksfile\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003319369999985611}, "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.0001920870000162722}}, {"call": {"outcome": "passed", "duration": 0.0015531580000072154}, "setup": {"outcome": "passed", "duration": 0.0003023419999976795}, "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.00017510600000036902}}, {"call": {"outcome": "passed", "duration": 0.06671597900000847}, "setup": {"outcome": "passed", "duration": 0.00034983099999408296}, "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.00022654099998931088}}, {"call": {"outcome": "passed", "duration": 0.02765923900000189}, "setup": {"outcome": "passed", "duration": 0.0003944030000013754}, "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.00022811400000932736}}, {"call": {"outcome": "passed", "duration": 0.00576596099998028}, "setup": {"outcome": "passed", "duration": 0.00041168600000673905}, "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.00020011200001590623}}, {"call": {"outcome": "passed", "duration": 0.0005028350000202408}, "setup": {"outcome": "passed", "duration": 0.0003858180000122502}, "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.00019972100000131832}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00045455500000457505, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 378, in test_reading_string_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032745900000463735}, "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.0001890210000112802}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00040381099998398895, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 393, in test_reading_bytes_io\n    cat = read_events(file_object)\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003363750000175969}, "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.00018953199997895354}}, {"call": {"outcome": "passed", "duration": 0.0007917719999852579}, "setup": {"outcome": "passed", "duration": 0.00035485000000790023}, "lineno": 398, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_corrupt_header", "outcome": "passed", "keywords": ["test_corrupt_header", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017761999998811007}}, {"call": {"outcome": "passed", "duration": 0.23260863499999118}, "setup": {"outcome": "passed", "duration": 0.0003554300000132571}, "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.00022951600001874795}}, {"call": {"outcome": "passed", "duration": 0.0002624480000008589}, "setup": {"outcome": "passed", "duration": 0.00036730299999021554}, "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.00018126700001630525}}, {"call": {"outcome": "passed", "duration": 0.00029433800000333576}, "setup": {"outcome": "passed", "duration": 0.00029520900000079564}, "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.00016485699998725067}}, {"call": {"outcome": "passed", "duration": 0.02318674300002499}, "setup": {"outcome": "passed", "duration": 0.00032781999999542677}, "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.00021724300000869334}}, {"call": {"outcome": "passed", "duration": 0.014720259999990049}, "setup": {"outcome": "passed", "duration": 0.0004256020000070748}, "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.00020954000001438544}}, {"call": {"outcome": "passed", "duration": 0.045518214999987094}, "setup": {"outcome": "passed", "duration": 0.00040633500000808453}, "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.00023501699999428638}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0040749869999956445, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 520, in test_read_latin1\n    cat = read_events(dos_file)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000405553999996755}, "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.00019622499999627507}}, {"call": {"outcome": "passed", "duration": 0.5265197110000202}, "setup": {"outcome": "passed", "duration": 0.00037437599999634585}, "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.00022036900000443893}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014010539999844696, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 539, in test_write_select\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003830120000145598}, "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.0001881090000210861}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011246409999898788, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 554, in test_write_select_new\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032140800001911884}, "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.00020408999998267063}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011053949999961787, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 569, in test_write_plugin\n    cat = read_events()\n          ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002937259999953312}, "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.00018875099999604572}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.022284396000003426, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 598, in test_more_than_three_mags\n    cat_back = read_events(tf.name)\n               ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000319804000014301}, "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.00022864499999286636}}, {"call": {"outcome": "passed", "duration": 0.014826642999992146}, "setup": {"outcome": "passed", "duration": 0.0004135990000122547}, "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.00019541300000014417}}, {"call": {"outcome": "passed", "duration": 0.009801170999992337}, "setup": {"outcome": "passed", "duration": 0.00035337699998194694}, "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.00018506399999296264}}, {"call": {"outcome": "passed", "duration": 0.025933981000008544}, "setup": {"outcome": "passed", "duration": 0.0003453019999994922}, "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.00023078899999973146}}, {"call": {"outcome": "passed", "duration": 0.0018934900000147081}, "setup": {"outcome": "passed", "duration": 0.00037437599999634585}, "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.00019870899998863933}}, {"call": {"outcome": "passed", "duration": 0.001282363999990821}, "setup": {"outcome": "passed", "duration": 0.0003705979999892861}, "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.00017522600001029787}}, {"call": {"outcome": "passed", "duration": 0.007478102000021636}, "setup": {"outcome": "passed", "duration": 0.0003389099999822065}, "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.00018495300000154202}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009261409999794523, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 708, in test_distance_conversion\n    cat = read_events(testing_path)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035549100002185696}, "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.00020243700001287834}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.010262436999994407, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 728, in test_large_negative_longitude\n    event_back = read_events(tf.name)\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030766200001153265}, "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.00020653299998230068}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.010168042999993077, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 746, in test_write_preferred_origin\n    event_back = read_events(tf.name)\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031483499998330444}, "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.0002157209999893439}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007875140000237479, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 760, in test_read_high_precision_pick\n    cat = read_events(\n          ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003784730000120362}, "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.00018952199999944241}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000806168999986312, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 779, in test_high_precision_read_write\n    cat = read_events(testdata['sfile_high_precision_picks'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003442599999914364}, "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.00018332099998019658}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007413980000023912, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 824, in test_long_phase_name\n    cat = read_events(testdata['sfile_long_phase'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033787799998208357}, "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.00018165799997404974}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00938167099999987, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 856, in test_read_write_over_day\n    event_back = read_events(tf.name)[0]\n                 ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007660039999848323}, "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.0002000009999960639}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007610640000166313, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 865, in test_seconds_overflow\n    cat = read_events(testdata['sfile_seconds_overflow'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004214730000171585}, "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.00018829000001119311}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007227029999796741, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 892, in test_read_bad_covariance\n    cat = read_events(testdata['sfile_bad_covariance'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003482980000057978}, "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.00018699699998592223}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007444639999789615, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 901, in test_read_high_accuracy\n    cat = read_events(testdata['sfile_highaccuracy'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00037177100000462815}, "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.00024771099998588397}}, {"call": {"outcome": "passed", "duration": 0.0025479869999855964}, "setup": {"outcome": "passed", "duration": 0.0003134720000161906}, "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.00017441399998574525}}, {"call": {"outcome": "passed", "duration": 0.00043362599998886253}, "setup": {"outcome": "passed", "duration": 0.000295168999997486}, "lineno": 947, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_from_to_cov", "outcome": "passed", "keywords": ["test_ellipse_from_to_cov", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001676109999948494}}, {"call": {"outcome": "passed", "duration": 0.0005635880000056659}, "setup": {"outcome": "passed", "duration": 0.0002921630000116693}, "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.0001702069999964806}}, {"call": {"outcome": "passed", "duration": 0.0003571940000028917}, "setup": {"outcome": "passed", "duration": 0.0003526550000003681}, "lineno": 997, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_is_inside", "outcome": "passed", "keywords": ["test_ellipse_is_inside", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018339100000730468}}, {"call": {"outcome": "passed", "duration": 0.00039096699998708573}, "setup": {"outcome": "passed", "duration": 0.0002819340000144166}, "lineno": 1013, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_is_on", "outcome": "passed", "keywords": ["test_ellipse_is_on", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016714099999148857}}, {"call": {"outcome": "passed", "duration": 0.0010041160000184846}, "setup": {"outcome": "passed", "duration": 0.00029197200001362944}, "lineno": 1029, "nodeid": "io/nordic/tests/test_nordic.py::TestNordicMethods::test_ellipse_subtended_angle", "outcome": "passed", "keywords": ["test_ellipse_subtended_angle", "filterwarnings", "TestNordicMethods", "test_nordic.py", "tests", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000171929999993381}}, {"call": {"outcome": "passed", "duration": 0.04256833499999857}, "setup": {"outcome": "passed", "duration": 0.00045755000002145607}, "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.00035488999998278814}}, {"call": {"outcome": "passed", "duration": 0.04285871400000474}, "setup": {"outcome": "passed", "duration": 0.0005284729999743831}, "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.00027231600000732215}}, {"call": {"outcome": "passed", "duration": 0.04655155899999386}, "setup": {"outcome": "passed", "duration": 0.0005006209999862676}, "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.00030969499999855543}}, {"call": {"outcome": "passed", "duration": 0.2617008209999767}, "setup": {"outcome": "passed", "duration": 0.0006171269999981632}, "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.000342466000006425}}, {"call": {"outcome": "passed", "duration": 0.08153787899999543}, "setup": {"outcome": "passed", "duration": 0.0006321150000019315}, "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.0003354339999930289}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009342970000147943, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/nordic/tests/test_nordic.py\", line 1134, in test_read_uncert_ellipse\n    cat = read_events(testdata['sfile_highaccuracy'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00039833099998531907}, "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.0001801649999890742}}, {"call": {"outcome": "passed", "duration": 0.016922219000008454}, "setup": {"outcome": "passed", "duration": 0.00034229700000310004}, "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.00018587499999966894}}, {"call": {"outcome": "passed", "duration": 0.04490071099999682}, "setup": {"outcome": "passed", "duration": 0.0003462239999976191}, "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.0003252550000070187}}, {"call": {"outcome": "skipped", "duration": 0.00024449400001458343, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0004897499999856336}, "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.00016439600000239807}}, {"call": {"outcome": "passed", "duration": 0.0029531590000146934}, "setup": {"outcome": "passed", "duration": 0.0003379990000098587}, "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.00017479600001024664}}, {"call": {"outcome": "passed", "duration": 0.0025083130000211895}, "setup": {"outcome": "passed", "duration": 0.00033527299999036586}, "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.00017318199999749595}}, {"call": {"outcome": "skipped", "duration": 0.00020278799999573494, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003048369999874012}, "lineno": 210, "nodeid": "io/nordic/utils.py::obspy.io.nordic.utils._nortoevmag", "outcome": "skipped", "keywords": ["obspy.io.nordic.utils._nortoevmag", "filterwarnings", "utils.py", "nordic", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016959499998847605}}, {"call": {"outcome": "passed", "duration": 0.00257245199998124}, "setup": {"outcome": "passed", "duration": 0.00030738099999894075}, "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.00017960400001015842}}, {"call": {"outcome": "failed", "duration": 0.008699452000001884, "longrepr": "048 \n049     :type filename: str\n050     :param filename: PDAS file to be read.\n051     :rtype: :class:`~obspy.core.stream.Stream`\n052     :return: An ObsPy Stream object.\n053 \n054     .. rubric:: Example\n055 \n056     >>> from obspy import read\n057     >>> st = read(\"/path/to/p1246001.108\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.pdas.core._read_pdas[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/pdas/core.py:57: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008311150000110956}, "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.00020321799999578616}}, {"call": {"outcome": "passed", "duration": 0.0009380740000040078}, "setup": {"outcome": "passed", "duration": 0.0011892300000226896}, "lineno": 11, "nodeid": "io/pdas/tests/test_core.py::TestPDAS::test_read_pdas", "outcome": "passed", "keywords": ["test_read_pdas", "filterwarnings", "TestPDAS", "test_core.py", "tests", "pdas", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016613899998674242}}, {"call": {"outcome": "passed", "duration": 0.0002626389999988987}, "setup": {"outcome": "passed", "duration": 0.00035063200002127815}, "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.0003750679999825479}}, {"call": {"outcome": "skipped", "duration": 0.00023920499998553169, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0007836270000041168}, "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.000173582999991595}}, {"call": {"outcome": "failed", "duration": 0.009391198000002987, "longrepr": "1071 \n1072     :type filename: str or :class:`~pathlib.Path`\n1073     :param filename: mchedr file to be read.\n1074     :rtype: :class:`~obspy.core.event.Catalog`\n1075     :return: An ObsPy Catalog object.\n1076 \n1077     .. rubric:: Example\n1078 \n1079     >>> from obspy.core.event import read_events\n1080     >>> cat = read_events('/path/to/mchedr.dat')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.pde.mchedr._read_mchedr[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/pde/mchedr.py:1080: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00031378299999573755}, "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.00018748900001241964}}, {"call": {"outcome": "passed", "duration": 0.000513143999995691}, "setup": {"outcome": "passed", "duration": 0.07377143100001149}, "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.00023127000000044973}}, {"call": {"outcome": "passed", "duration": 0.00035864700001297933}, "setup": {"outcome": "passed", "duration": 0.0714082770000175}, "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.00022109099998601778}}, {"call": {"outcome": "passed", "duration": 0.0015603500000054282}, "setup": {"outcome": "passed", "duration": 0.07351689799997985}, "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.00021175399999151523}}, {"call": {"outcome": "passed", "duration": 0.0004140890000030595}, "setup": {"outcome": "passed", "duration": 0.07206253399999696}, "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.00020008199999210774}}, {"call": {"outcome": "passed", "duration": 0.00033666600000969993}, "setup": {"outcome": "passed", "duration": 0.07230843099998197}, "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.00020487100002242187}}, {"call": {"outcome": "passed", "duration": 0.00032612600000447856}, "setup": {"outcome": "passed", "duration": 0.07096782899998288}, "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.00022491800001489537}}, {"call": {"outcome": "passed", "duration": 0.000428937000009455}, "setup": {"outcome": "passed", "duration": 0.07222935400000097}, "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.00020786700000030578}}, {"call": {"outcome": "passed", "duration": 0.0004402179999942746}, "setup": {"outcome": "passed", "duration": 0.07143785299999195}, "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.00022080099998333935}}, {"call": {"outcome": "passed", "duration": 0.0015263070000059997}, "setup": {"outcome": "passed", "duration": 0.07378051800000662}, "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.0002148390000229483}}, {"call": {"outcome": "passed", "duration": 0.13218497200000456}, "setup": {"outcome": "passed", "duration": 0.07288164700000266}, "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.0002767050000045401}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011483450000184803, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/pde/tests/test_mchedr.py\", line 307, in test_read_events\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.07278224199998817}, "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.0004747330000043348}}, {"call": {"outcome": "passed", "duration": 0.003722829999986743}, "setup": {"outcome": "passed", "duration": 0.0009644130000197038}, "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.0001904339999896365}}, {"call": {"outcome": "passed", "duration": 0.003544909999988022}, "setup": {"outcome": "passed", "duration": 0.00036337499997785017}, "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.00018707799998196606}}, {"call": {"outcome": "passed", "duration": 0.003297861000021385}, "setup": {"outcome": "passed", "duration": 0.0003415350000182116}, "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.0001856849999910537}}, {"call": {"outcome": "passed", "duration": 0.003296207999994749}, "setup": {"outcome": "passed", "duration": 0.0003585260000136259}, "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.00018675699999448625}}, {"call": {"outcome": "passed", "duration": 0.003275368000004164}, "setup": {"outcome": "passed", "duration": 0.00034223599999450016}, "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.00018461299998762115}}, {"call": {"outcome": "passed", "duration": 0.003420718999990413}, "setup": {"outcome": "passed", "duration": 0.0003618829999822992}, "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.00020239699998114702}}, {"call": {"outcome": "passed", "duration": 0.0032074330000000373}, "setup": {"outcome": "passed", "duration": 0.0003354639999884057}, "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.00018263999999135194}}, {"call": {"outcome": "skipped", "duration": 0.00022945700001741898, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003482369999971979}, "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.0001940609999735443}}, {"call": {"outcome": "failed", "duration": 0.005305602999982284, "longrepr": "1818 \n1819     :type filename: str\n1820     :param filename: QuakeML file to be read.\n1821     :rtype: :class:`~obspy.core.event.Catalog`\n1822     :return: An ObsPy Catalog object.\n1823 \n1824     .. rubric:: Example\n1825 \n1826     >>> from obspy.core.event import read_events\n1827     >>> cat = read_events('/path/to/iris_events.xml')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.quakeml.core._read_quakeml[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/core.py:1827: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003123209999955634}, "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.00020350899998788918}}, {"call": {"outcome": "passed", "duration": 0.015921859000002314}, "setup": {"outcome": "passed", "duration": 0.0013716999999928703}, "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.00023499599998899612}}, {"call": {"outcome": "passed", "duration": 0.006222317000009525}, "setup": {"outcome": "passed", "duration": 0.0004322329999979502}, "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.00021552000001179294}}, {"call": {"outcome": "passed", "duration": 0.0034189059999789606}, "setup": {"outcome": "passed", "duration": 0.00037349499999095315}, "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.00018907200001194724}}, {"call": {"outcome": "passed", "duration": 0.007339264000023604}, "setup": {"outcome": "passed", "duration": 0.0003608110000072884}, "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.00018998400000214133}}, {"call": {"outcome": "passed", "duration": 0.0027696189999915077}, "setup": {"outcome": "passed", "duration": 0.000363976000016919}, "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.00018136700001036843}}, {"call": {"outcome": "passed", "duration": 0.0021239379999826724}, "setup": {"outcome": "passed", "duration": 0.0003534370000011222}, "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.0001996809999980087}}, {"call": {"outcome": "passed", "duration": 0.0022204480000027615}, "setup": {"outcome": "passed", "duration": 0.0003467239999963567}, "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.00017922300000350333}}, {"call": {"outcome": "passed", "duration": 0.004099991999993335}, "setup": {"outcome": "passed", "duration": 0.00034436999999343243}, "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.0002002420000053462}}, {"call": {"outcome": "passed", "duration": 0.004540040000023282}, "setup": {"outcome": "passed", "duration": 0.00034883800000784504}, "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.00018338099999937185}}, {"call": {"outcome": "passed", "duration": 0.0046643009999911555}, "setup": {"outcome": "passed", "duration": 0.00035032099998488775}, "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.00018442300000742762}}, {"call": {"outcome": "passed", "duration": 0.01334448800000132}, "setup": {"outcome": "passed", "duration": 0.0003505910000001222}, "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.00019042400001012538}}, {"call": {"outcome": "passed", "duration": 0.010094936000001553}, "setup": {"outcome": "passed", "duration": 0.00037443700000494573}, "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.00018804900000191083}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00107120100000202, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 562, in test_read_events\n    catalog = read_events(testdata['neries_events.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003557109999974273}, "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.00018961300000341907}}, {"call": {"outcome": "passed", "duration": 0.001336064000014403}, "setup": {"outcome": "passed", "duration": 0.00033621600002220475}, "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.0001777399999980389}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00040573500001528373, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 646, in test_read_string\n    catalog = read_events(data)\n              ^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 730, in _generic_reader\n    return callback_func(io.BytesIO(pathname_or_url), **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003376779999939572}, "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.00020334799998522612}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010751590000097622, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 661, in test_preferred_tags\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033393999999020707}, "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.00017640799998730472}}, {"call": {"outcome": "passed", "duration": 0.008569470999987061}, "setup": {"outcome": "passed", "duration": 0.0002969820000089385}, "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.00019440099998746518}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008551900000099977, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 756, in test_read_equivalence\n    cat1 = read_events(testdata['neries_events.xml'])\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003758779999998296}, "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.0001798839999764823}}, {"call": {"outcome": "passed", "duration": 0.0074009580000051756}, "setup": {"outcome": "passed", "duration": 0.00034567299999821444}, "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.00018208899999194728}}, {"call": {"outcome": "passed", "duration": 0.003845369000003984}, "setup": {"outcome": "passed", "duration": 0.0003818190000117738}, "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.00018102699999644756}}, {"call": {"outcome": "passed", "duration": 0.005389178000001493}, "setup": {"outcome": "passed", "duration": 0.0003549799999973402}, "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.00019476200000667632}}, {"call": {"outcome": "passed", "duration": 0.01299505699998349}, "setup": {"outcome": "passed", "duration": 0.0004765159999919888}, "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.0002443040000059682}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004356289999805085, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 990, in test_read_same_file_twice_to_same_variable\n    cat1 = read_events(sio)  # NOQA\n           ^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003914370000188683}, "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.0002156110000157696}}, {"call": {"outcome": "passed", "duration": 0.005119586999995818}, "setup": {"outcome": "passed", "duration": 0.0003225800000166146}, "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.00018795999997678337}}, {"call": {"outcome": "passed", "duration": 0.010263240000000451}, "setup": {"outcome": "passed", "duration": 0.00033262799999533854}, "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.00024629800000752766}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008935609999980443, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1060, in test_writing_invalid_quakeml_id\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004111140000020441}, "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.00020353900001168768}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008213769999940723, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1083, in test_reading_invalid_enums\n    cat = read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035836600000038743}, "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.00018521500001611457}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013009879999970053, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/quakeml/tests/test_quakeml.py\", line 1101, in test_issue_2339\n    cat1 = Catalog(events=[read_events()[0]])\n                           ^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033056399999509267}, "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.00018732800000975658}}, {"call": {"outcome": "passed", "duration": 0.002230306000001292}, "setup": {"outcome": "passed", "duration": 0.0003426369999885992}, "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.00026430200000504556}}, {"call": {"outcome": "failed", "duration": 0.00993103199999723, "longrepr": "044 .KW1..EH0 | 2015-10-09T22:51:11.675000Z - ... | 200.0 Hz, 2743 samples\n045 .KW1..EH1 | 2015-10-09T22:50:51.000000Z - ... | 200.0 Hz, 3107 samples\n046 .KW1..EH1 | 2015-10-09T22:51:05.925000Z - ... | 200.0 Hz, 768 samples\n047 .KW1..EH1 | 2015-10-09T22:51:10.765000Z - ... | 200.0 Hz, 2925 samples\n048 .KW1..EH2 | 2015-10-09T22:50:51.000000Z - ... | 200.0 Hz, 3405 samples\n049 .KW1..EH2 | 2015-10-09T22:51:08.415000Z - ... | 200.0 Hz, 3395 samples\n050 \n051 Network, location and component codes can be specified during reading:\n052 \n053 >>> st = read(\"/path/to/225051000_00008656\", network=\"BW\", location=\"\",\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.reftek[4]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/reftek/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008808670000064467}, "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.00023775200000386576}}, {"call": {"outcome": "passed", "duration": 0.023363211999992473}, "setup": {"outcome": "passed", "duration": 0.0014625089999924512}, "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.0002941470000052959}}, {"call": {"outcome": "passed", "duration": 0.004469349000004286}, "setup": {"outcome": "passed", "duration": 0.0005682970000009391}, "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.00024604800000815885}}, {"call": {"outcome": "passed", "duration": 0.028016261999994185}, "setup": {"outcome": "passed", "duration": 0.0004990580000026057}, "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.000301210999992918}}, {"call": {"outcome": "passed", "duration": 0.0006888709999941511}, "setup": {"outcome": "passed", "duration": 0.0005634179999844946}, "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.00024312200000053963}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009459890000016458, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/reftek/tests/test_core.py\", line 203, in test_integration_with_obspy_core\n    st_reftek = obspy.read(\n                ^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004633709999950497}, "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.00022063099999058977}}, {"call": {"outcome": "passed", "duration": 0.0008714500000053249}, "setup": {"outcome": "passed", "duration": 0.00045775099999900704}, "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.0002542529999800536}}, {"call": {"outcome": "passed", "duration": 0.014444142000002103}, "setup": {"outcome": "passed", "duration": 0.00044865399999594047}, "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.00034553200001141704}}, {"call": {"outcome": "passed", "duration": 0.0270806030000017}, "setup": {"outcome": "passed", "duration": 0.0005860089999885076}, "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.00027276700001266363}}, {"call": {"outcome": "passed", "duration": 0.019158376000007138}, "setup": {"outcome": "passed", "duration": 0.0005098479999787742}, "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.0002373119999958817}}, {"call": {"outcome": "passed", "duration": 0.021119089999984908}, "setup": {"outcome": "passed", "duration": 0.0004932479999979478}, "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.00022621100001174455}}, {"call": {"outcome": "passed", "duration": 0.024831652000017357}, "setup": {"outcome": "passed", "duration": 0.00047228799999743387}, "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.0002604839999946762}}, {"call": {"outcome": "passed", "duration": 0.004409578000007741}, "setup": {"outcome": "passed", "duration": 0.0005414859999746113}, "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.00022477800001752257}}, {"call": {"outcome": "passed", "duration": 0.0017609739999784324}, "setup": {"outcome": "passed", "duration": 0.0004759249999892745}, "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.00020011199998748452}}, {"call": {"outcome": "passed", "duration": 0.0016753239999900416}, "setup": {"outcome": "passed", "duration": 0.00047404099998971105}, "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.00019932099999664388}}, {"call": {"outcome": "passed", "duration": 0.0028466720000039913}, "setup": {"outcome": "passed", "duration": 0.0004524320000030002}, "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.0001947220000033667}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015835229999936473, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/reftek/tests/test_core.py\", line 508, in test_reading_packet_with_vpu_float_string\n    st = obspy.read(self.reftek_file_vpu,\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043584000002283574}, "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.00020193500000686981}}, {"call": {"outcome": "passed", "duration": 0.02539859600000227}, "setup": {"outcome": "passed", "duration": 0.0004313309999872672}, "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.00022405600000752202}}, {"call": {"outcome": "passed", "duration": 0.00263574000001654}, "setup": {"outcome": "passed", "duration": 0.00045404400000848}, "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.00025645699997767224}}, {"call": {"outcome": "passed", "duration": 0.004308318999989069}, "setup": {"outcome": "passed", "duration": 0.0004349579999995967}, "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.0002027069999996911}}, {"call": {"outcome": "passed", "duration": 0.004278212999992093}, "setup": {"outcome": "passed", "duration": 0.00042814599999019265}, "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.0004642829999852438}}, {"call": {"outcome": "failed", "duration": 0.009887810999998692, "longrepr": "044 Several key word arguments are available: ``headonly``, ``starttime``,\n045 ``endtime``, ``merge``, ``contacts_north``, ``details``. They are passed to the\n046 :func:`obspy.io.rg16.core._read_rg16` function so refer to it for details to\n047 each parameter.\n048 \n049 >>> import obspy\n050 >>> from obspy.core.util import get_example_file\n051 >>> filename = get_example_file('three_chans_six_traces.fcnt')\n052 >>> # these are all equivalent:\n053 >>> st = obspy.read(filename)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.rg16[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/rg16/__init__.py:53: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008860469999945053}, "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.00019206700000040655}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008742949999884786, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/rg16/tests/test_read_rg16.py\", line 31, in test_reading_rg16_files\n    st_1 = read(fcnt_file)\n           ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0013080709999826468}, "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.00020021200000996942}}, {"call": {"outcome": "passed", "duration": 0.0009034490000203732}, "setup": {"outcome": "passed", "duration": 0.0004401879999988978}, "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.00019885999998336956}}, {"call": {"outcome": "passed", "duration": 0.00027769600001192885}, "setup": {"outcome": "passed", "duration": 0.00042828599998756545}, "lineno": 52, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16::test_empty_buffer", "outcome": "passed", "keywords": ["test_empty_buffer", "filterwarnings", "TestReadRG16", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021045100001515493}}, {"call": {"outcome": "passed", "duration": 0.005241663999981938}, "setup": {"outcome": "passed", "duration": 0.0003976390000275387}, "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.00019924100001844636}}, {"call": {"outcome": "passed", "duration": 0.010374165999991192}, "setup": {"outcome": "passed", "duration": 0.0005780740000034257}, "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.00020649399999683737}}, {"call": {"outcome": "passed", "duration": 0.009342388000021629}, "setup": {"outcome": "passed", "duration": 0.0004198000000030788}, "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.00021914799998512535}}, {"call": {"outcome": "passed", "duration": 0.02792554399999858}, "setup": {"outcome": "passed", "duration": 0.00045294200000967066}, "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.0002259100000117087}}, {"call": {"outcome": "passed", "duration": 0.011932773000012276}, "setup": {"outcome": "passed", "duration": 0.00043580999999903725}, "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.00024028699999689707}}, {"call": {"outcome": "passed", "duration": 0.0009168150000107289}, "setup": {"outcome": "passed", "duration": 0.0004808539999885397}, "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.0001997509999966951}}, {"call": {"outcome": "passed", "duration": 0.0003477660000044125}, "setup": {"outcome": "passed", "duration": 0.00042537099997730365}, "lineno": 154, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_cmp_nbr_headers", "outcome": "passed", "keywords": ["test_cmp_nbr_headers", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001921169999832273}}, {"call": {"outcome": "passed", "duration": 0.002499316999973189}, "setup": {"outcome": "passed", "duration": 0.00041140499999414715}, "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.00021946799998318056}}, {"call": {"outcome": "passed", "duration": 0.00027109399999858397}, "setup": {"outcome": "passed", "duration": 0.0004078380000009929}, "lineno": 176, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_cmp_jump", "outcome": "passed", "keywords": ["test_cmp_jump", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018654699999842705}}, {"call": {"outcome": "passed", "duration": 0.000326596999997264}, "setup": {"outcome": "passed", "duration": 0.0003926099999773669}, "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.00018977299998823582}}, {"call": {"outcome": "passed", "duration": 0.0002798600000062379}, "setup": {"outcome": "passed", "duration": 0.0004091309999978421}, "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.0001814670000044316}}, {"call": {"outcome": "passed", "duration": 0.0003430569999807176}, "setup": {"outcome": "passed", "duration": 0.00038890300001526157}, "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.0001911350000227685}}, {"call": {"outcome": "passed", "duration": 0.00043085100000439525}, "setup": {"outcome": "passed", "duration": 0.0004182179999929758}, "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.0001932790000012119}}, {"call": {"outcome": "passed", "duration": 0.0003390809999928024}, "setup": {"outcome": "passed", "duration": 0.0004139899999984209}, "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.00018591499997455685}}, {"call": {"outcome": "passed", "duration": 0.00033552399997915927}, "setup": {"outcome": "passed", "duration": 0.0003867389999925308}, "lineno": 251, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_trace_header_5", "outcome": "passed", "keywords": ["test_read_trace_header_5", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018328100000530867}}, {"call": {"outcome": "passed", "duration": 0.0003021619999969971}, "setup": {"outcome": "passed", "duration": 0.00041095399998880566}, "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.00020069300001068768}}, {"call": {"outcome": "passed", "duration": 0.0003259259999879305}, "setup": {"outcome": "passed", "duration": 0.00038502600000356324}, "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.00018366100002253916}}, {"call": {"outcome": "passed", "duration": 0.0003178409999975429}, "setup": {"outcome": "passed", "duration": 0.00046407199999976}, "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.00018854999999007305}}, {"call": {"outcome": "passed", "duration": 0.00031543599999395155}, "setup": {"outcome": "passed", "duration": 0.00040124500000615626}, "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.00018144699998856595}}, {"call": {"outcome": "passed", "duration": 0.00029198299998256516}, "setup": {"outcome": "passed", "duration": 0.00038541700001815116}, "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.00018169699998793476}}, {"call": {"outcome": "passed", "duration": 0.0012110609999922417}, "setup": {"outcome": "passed", "duration": 0.0004123270000206958}, "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.00019558400001074006}}, {"call": {"outcome": "passed", "duration": 0.009686818000005815}, "setup": {"outcome": "passed", "duration": 0.0004006240000080652}, "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.00020320800001627504}}, {"call": {"outcome": "passed", "duration": 0.0006225679999829481}, "setup": {"outcome": "passed", "duration": 0.00040420100000915227}, "lineno": 379, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_general_header_1", "outcome": "passed", "keywords": ["test_read_general_header_1", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000189872999982299}}, {"call": {"outcome": "passed", "duration": 0.000304446000001235}, "setup": {"outcome": "passed", "duration": 0.0003917680000142809}, "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.00018563500000823296}}, {"call": {"outcome": "passed", "duration": 0.0011995399999875644}, "setup": {"outcome": "passed", "duration": 0.00040760800001748976}, "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.00021562099999528073}}, {"call": {"outcome": "passed", "duration": 0.0007284840000068016}, "setup": {"outcome": "passed", "duration": 0.00039375199997948584}, "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.00020684500000811568}}, {"call": {"outcome": "passed", "duration": 0.0006208739999919999}, "setup": {"outcome": "passed", "duration": 0.0003895539999803077}, "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.00018909099998154488}}, {"call": {"outcome": "passed", "duration": 0.00034417000000530606}, "setup": {"outcome": "passed", "duration": 0.00038632800001892065}, "lineno": 466, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_read_extended_header_2", "outcome": "passed", "keywords": ["test_read_extended_header_2", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001873379999892677}}, {"call": {"outcome": "passed", "duration": 0.00028972800001270116}, "setup": {"outcome": "passed", "duration": 0.00040423099997610734}, "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.00020369899999650443}}, {"call": {"outcome": "passed", "duration": 0.0006203029999767296}, "setup": {"outcome": "passed", "duration": 0.00038848299999472147}, "lineno": 502, "nodeid": "io/rg16/tests/test_read_rg16.py::TestReadRG16Headers::test_bad_alias_filter", "outcome": "passed", "keywords": ["test_bad_alias_filter", "filterwarnings", "TestReadRG16Headers", "test_read_rg16.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020658400001138943}}, {"call": {"outcome": "passed", "duration": 0.001635480999993888}, "setup": {"outcome": "passed", "duration": 0.000399712999978874}, "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.0005694590000189237}}, {"call": {"outcome": "passed", "duration": 0.001351332000012917}, "setup": {"outcome": "passed", "duration": 0.0004253410000103486}, "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.0001806860000215238}}, {"call": {"outcome": "passed", "duration": 0.0002714549999893734}, "setup": {"outcome": "passed", "duration": 0.0003204159999938838}, "lineno": 30, "nodeid": "io/rg16/tests/test_util.py::TestRG16Util::test_read_binary", "outcome": "passed", "keywords": ["test_read_binary", "filterwarnings", "TestRG16Util", "test_util.py", "tests", "rg16", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001687029999857259}}, {"call": {"outcome": "passed", "duration": 0.00022880599999552942}, "setup": {"outcome": "passed", "duration": 0.000287143999997852}, "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.0001773099999979877}}, {"call": {"outcome": "failed", "duration": 0.010123199000020122, "longrepr": "017 (LANL) and copyrighted for Los Alamos National Security, LLC under\n018 LA-CC-15-051.\n019 \n020 Reading\n021 -------\n022 Similar to reading any other waveform data format using\n023 :func:`~obspy.core.stream.read()`:\n024 \n025 >>> from obspy import read\n026 >>> st = read('/path/to/test.sac', debug_headers=True)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/__init__.py:26: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008304239999858964}, "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.00021094199999538432}}, {"call": {"outcome": "failed", "duration": 0.009596099000020786, "longrepr": "236         microseconds before calculating sampling rate to avoid floating point\n237         accuracy issues with some SAC files (see #3408)\n238     :type round_sampling_interval: bool\n239     :rtype: :class:`~obspy.core.stream.Stream`\n240     :return: A ObsPy Stream object.\n241 \n242     .. rubric:: Example\n243 \n244     >>> from obspy import read\n245     >>> st = read(\"/path/to/testxy.sac\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._internal_read_sac_xy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:245: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004735599999889928}, "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.00018372200000271732}}, {"call": {"outcome": "passed", "duration": 0.010839070000002948}, "setup": {"outcome": "passed", "duration": 0.00033520400000952577}, "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.0001829099999781647}}, {"call": {"outcome": "passed", "duration": 0.011997662999988279}, "setup": {"outcome": "passed", "duration": 0.00032566599998062884}, "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.00019226699998853292}}, {"call": {"outcome": "failed", "duration": 0.008778048000010585, "longrepr": "343         microseconds before calculating sampling rate to avoid floating point\n344         accuracy issues with some SAC files (see #3408)\n345     :type round_sampling_interval: bool\n346     :rtype: :class:`~obspy.core.stream.Stream`\n347     :return: A ObsPy Stream object.\n348 \n349     .. rubric:: Example\n350 \n351     >>> from obspy import read\n352     >>> st = read(\"/path/to/test.sac\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._read_sac[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:352: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003419749999977739}, "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.0001821280000058323}}, {"call": {"outcome": "failed", "duration": 0.008754764999991949, "longrepr": "191         microseconds before calculating sampling rate to avoid floating point\n192         accuracy issues with some SAC files (see #3408)\n193     :type round_sampling_interval: bool\n194     :rtype: :class:`~obspy.core.stream.Stream`\n195     :return: A ObsPy Stream object.\n196 \n197     .. rubric:: Example\n198 \n199     >>> from obspy import read\n200     >>> st = read(\"/path/to/testxy.sac\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._read_sac_xy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:200: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003223800000000665}, "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.00022384600001146282}}, {"call": {"outcome": "failed", "duration": 0.005683666000010135, "longrepr": "439     :type filename: str, open file, or file-like object\n440     :param byteorder: Must be either ``0`` or ``'<'`` for LSBF or\n441         little-endian, ``1`` or ``'>'`` for MSBF or big-endian.\n442         Defaults to little endian.\n443     :type byteorder: int or str\n444 \n445     .. rubric:: Example\n446 \n447     >>> from obspy import read\n448     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._write_sac[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:448: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003249540000069828}, "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.00019487199998025062}}, {"call": {"outcome": "failed", "duration": 0.005902843999990637, "longrepr": "267         file-like object is passed, this function only supports writing\n268         Stream objects containing a single Trace. This is a limitation of\n269         the SAC file format. An exception will be raised in case it's\n270         necessary.\n271     :type filename: str, open file, or file-like object\n272 \n273     .. rubric:: Example\n274 \n275     >>> from obspy import read\n276     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.core._write_sac_xy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/core.py:276: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00047126600000524377}, "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.00021757499999353058}}, {"call": {"outcome": "passed", "duration": 0.003190721000009944}, "setup": {"outcome": "passed", "duration": 0.00048289700001191704}, "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.0001858249999884265}}, {"call": {"outcome": "passed", "duration": 0.004107585999975072}, "setup": {"outcome": "passed", "duration": 0.0003782230000126674}, "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.00018210900000781294}}, {"call": {"outcome": "failed", "duration": 0.00910713000001806, "longrepr": "260     * IA (12): First arrival time\n261     * ITn (13-22): User defined time pick n, n=0,9\n262 \n263 Convert to/from ObsPy Traces\n264 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n265 \n266 .. rubric:: Example\n267 \n268 >>> from obspy import read\n269 >>> tr = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sac.sactrace[17]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/sactrace.py:269: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004583019999984117}, "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.00019153599998844584}}, {"call": {"outcome": "passed", "duration": 0.0029586900000140304}, "setup": {"outcome": "passed", "duration": 0.00033607500000698565}, "lineno": 827, "nodeid": "io/sac/sactrace.py::obspy.io.sac.sactrace.SACTrace.__init__", "outcome": "passed", "keywords": ["obspy.io.sac.sactrace.SACTrace.__init__", "filterwarnings", "sactrace.py", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020030199999609977}}, {"call": {"outcome": "passed", "duration": 0.00863738700002159}, "setup": {"outcome": "passed", "duration": 0.0003218579999781923}, "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.00018506399999296264}}, {"call": {"outcome": "passed", "duration": 0.002556220999991865}, "setup": {"outcome": "passed", "duration": 0.0003162980000013249}, "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.0001736920000041664}}, {"call": {"outcome": "passed", "duration": 0.008790892000007489}, "setup": {"outcome": "passed", "duration": 0.0014054030000067996}, "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.00018332100000861828}}, {"call": {"outcome": "passed", "duration": 0.009037801000005175}, "setup": {"outcome": "passed", "duration": 0.0003383179999900676}, "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.00021018099999992046}}, {"call": {"outcome": "passed", "duration": 0.008637246999995796}, "setup": {"outcome": "passed", "duration": 0.00033355100001131177}, "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.00020309700002485442}}, {"call": {"outcome": "passed", "duration": 0.008317863000002035}, "setup": {"outcome": "passed", "duration": 0.0003273389999947085}, "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.00019463200001723635}}, {"call": {"outcome": "passed", "duration": 0.0026656059999936588}, "setup": {"outcome": "passed", "duration": 0.0014706639999815252}, "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.000224608000024773}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003982443000012381, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 63, in test_read_write_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000423758000010821}, "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.0002111119999881339}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004737416000011763, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 81, in test_read_xy_write_xy_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004189089999897533}, "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.00023662999998919076}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0046537810000018, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 96, in test_read_write_xy_via_obspy\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042790499998091036}, "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.00023225199998933022}}, {"call": {"outcome": "passed", "duration": 0.0023953730000130236}, "setup": {"outcome": "passed", "duration": 0.0004233469999803674}, "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.00019473199998287782}}, {"call": {"outcome": "passed", "duration": 0.014396652999977277}, "setup": {"outcome": "passed", "duration": 0.0004095920000111164}, "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.0002986449999866636}}, {"call": {"outcome": "passed", "duration": 0.0025093750000166892}, "setup": {"outcome": "passed", "duration": 0.0004845809999949324}, "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.00019871999998599676}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002038059000000203, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 170, in test_write_via_obspy\n    tr = read(tempfile)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004481029999965358}, "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.00020582300001592557}}, {"call": {"outcome": "passed", "duration": 0.0035207550000109222}, "setup": {"outcome": "passed", "duration": 0.0006423639999866282}, "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.00020303799999510375}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008589570000197, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 190, in test_read_and_write_via_obspy\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004393160000120133}, "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.0002077359999930195}}, {"call": {"outcome": "passed", "duration": 0.005119207000007009}, "setup": {"outcome": "passed", "duration": 0.0004650850000018636}, "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.00020022199998948054}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008496789999981047, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 249, in test_iztype11\n    tr = read(sod_file)[0]\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004328039999847988}, "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.00020445000001245717}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008375870000065788, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 266, in test_default_values\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045529599998417325}, "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.00019531300000608098}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009509879999995974, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 278, in test_reference_time\n    tr = read(self.fileseis)[0]\n         ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005845969999995759}, "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.00021951800002284472}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008187820000102874, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 305, in test_undefined_b\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000430130000012241}, "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.0001975369999911436}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003233410999996522, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 336, in test_issue_156\n    st = read(sac_file)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044133100001886305}, "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.00020624300000804396}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00935508099999538, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 360, in test_write_sac_xy_with_minimum_stats\n    st = read(sac_file)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004893800000047577}, "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.00022133200002372178}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008938619999980801, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 368, in test_not_used_but_given_headers\n    tr1 = read(self.file)[0]\n          ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000509527999980719}, "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.00020071299999813164}}, {"call": {"outcome": "passed", "duration": 0.0038134389999981977}, "setup": {"outcome": "passed", "duration": 0.0004363909999938187}, "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.0002164919999927406}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000809564999997292, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 407, in test_null_terminated_strings\n    tr = read(null_file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004216840000026423}, "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.00019359000000918059}}, {"call": {"outcome": "passed", "duration": 0.03414428400000702}, "setup": {"outcome": "passed", "duration": 0.0004478930000004766}, "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.00028525999999828855}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009119750000081694, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 432, in test_issue390\n    tr = read(self.file, headonly=True, debug_headers=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005290430000002289}, "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.00021287600000619022}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009688810000056947, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 469, in test_read_with_fsize\n    read(longer_file)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045899299999518917}, "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.00020135400001208836}}, {"call": {"outcome": "passed", "duration": 0.002664443999975674}, "setup": {"outcome": "passed", "duration": 0.00046770899999160065}, "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.0001932090000025255}}, {"call": {"outcome": "passed", "duration": 0.002309483000004775}, "setup": {"outcome": "passed", "duration": 0.00046293100001548737}, "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.0002111730000251555}}, {"call": {"outcome": "passed", "duration": 0.002638495000013563}, "setup": {"outcome": "passed", "duration": 0.000430480000005673}, "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.00021531999999524487}}, {"call": {"outcome": "passed", "duration": 0.0028975870000067516}, "setup": {"outcome": "passed", "duration": 0.0004279949999954624}, "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.00019287899999653746}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022525380000217865, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 569, in test_writing_to_obj_with_multiple_traces_fails\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000455697000006694}, "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.0001988699999913024}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020628050000084386, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 578, in test_writing_to_io_string_io_fails\n    st = read()[:1]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004463489999864123}, "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.0001989399999899888}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0005276409999908083, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 594, in test_read_via_obspy_from_bytes_io\n    tr = read(buf)[0]\n         ^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00048062299998719027}, "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.00019867899999326255}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008263160000012704, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 605, in test_write_via_obspy_to_bytes_io\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045213100000296436}, "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.0001887809999914225}}, {"call": {"outcome": "passed", "duration": 0.0036171550000005936}, "setup": {"outcome": "passed", "duration": 0.0004302700000096138}, "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.00018572499999436332}}, {"call": {"outcome": "passed", "duration": 0.00396568200000047}, "setup": {"outcome": "passed", "duration": 0.00042909699999427175}, "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.00018711799998527567}}, {"call": {"outcome": "passed", "duration": 0.0003213279999840779}, "setup": {"outcome": "passed", "duration": 0.00041945999998915795}, "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.00018077599997923244}}, {"call": {"outcome": "passed", "duration": 0.0002922739999746682}, "setup": {"outcome": "passed", "duration": 0.00042020200001502417}, "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.00017894299998033603}}, {"call": {"outcome": "passed", "duration": 0.00028628200001890036}, "setup": {"outcome": "passed", "duration": 0.00039353200000391553}, "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.00017051699998660297}}, {"call": {"outcome": "passed", "duration": 0.0003170990000000984}, "setup": {"outcome": "passed", "duration": 0.0004113150000080168}, "lineno": 688, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_bytes_io", "outcome": "passed", "keywords": ["test_is_sacxy_bytes_io", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019167599998581863}}, {"call": {"outcome": "passed", "duration": 0.00032408300000952295}, "setup": {"outcome": "passed", "duration": 0.0003977789999964898}, "lineno": 707, "nodeid": "io/sac/tests/test_core.py::TestCore::test_is_sacxy_string_io_raises", "outcome": "passed", "keywords": ["test_is_sacxy_string_io_raises", "filterwarnings", "TestCore", "test_core.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017360200001803605}}, {"call": {"outcome": "passed", "duration": 0.0003116190000014285}, "setup": {"outcome": "passed", "duration": 0.0004214530000012928}, "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.000178121000004694}}, {"call": {"outcome": "passed", "duration": 0.00028983899997570006}, "setup": {"outcome": "passed", "duration": 0.00041779700001143283}, "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.00017690900000388865}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00225081400000704, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 744, in test_writing_to_file_like_objects_with_obspy\n    st = read()[:1]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003918380000129673}, "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.0001919770000142762}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022292539999853034, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 788, in test_valid_sac_from_minimal_existing_sac_header\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00043053999999642656}, "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.0001948620000007395}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0019359289999840712, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 823, in test_merge_sac_obspy_headers\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004368720000229587}, "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.00018978299999616866}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.008847027000001617, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 838, in test_decimate_resample\n    tr1 = read(tempfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041748600000346414}, "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.0002415989999917656}}, {"call": {"outcome": "passed", "duration": 0.004112364999997453}, "setup": {"outcome": "passed", "duration": 0.000438815999984854}, "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.00018917200000601042}}, {"call": {"outcome": "passed", "duration": 0.0022369380000100136}, "setup": {"outcome": "passed", "duration": 0.0004427929999906155}, "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.00025993300002369324}}, {"call": {"outcome": "passed", "duration": 0.0004913340000030075}, "setup": {"outcome": "passed", "duration": 0.0004435350000164817}, "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.00019330899999658868}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013642170000025544, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 897, in test_sac_file_from_new_header\n    tr1 = read(tf)[0]\n          ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003898249999849668}, "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.00021166299998753857}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015387609999777396, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 920, in test_always_sac_reftime\n    tr1 = read(tf)[0]\n          ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041193600000610786}, "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.00019065499998305313}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008556000000226049, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 929, in test_wrong_encoding\n    tr0 = read(self.file_encode)[0]\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004060440000159815}, "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.00020963999998002691}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007875529999807895, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_core.py\", line 936, in test_encoding_flag\n    tr0 = read(self.file_encode, encoding='cp1252')[0]\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004207420000170714}, "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.0001925079999978152}}, {"call": {"outcome": "passed", "duration": 0.1721432149999771}, "setup": {"outcome": "passed", "duration": 0.0005846760000167706}, "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.000275702999999794}}, {"call": {"outcome": "passed", "duration": 0.013876497000012478}, "setup": {"outcome": "passed", "duration": 0.000521058999993329}, "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.000794947999992246}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008047660000158885, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 47, in test_write_sacpz_single_channel\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0010111090000179956}, "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.00019731699998715158}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008000969999955032, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 65, in test_write_sacpz_multiple_channels\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004593539999859786}, "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.0001918670000122802}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008391499999902408, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 82, in test_write_sacpz_soh\n    inv = read_inventory(path)\n          ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040342999997733386}, "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.00019270800001436328}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011739720000036868, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 100, in test_write_sacpz_no_sensor\n    inv = read_inventory(\"/path/to/IU_ANMO_00_BHZ.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0015049579999981688}, "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.00020369899999650443}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010550610000166216, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sacpz.py\", line 100, in test_write_sacpz_no_sensor\n    inv = read_inventory(\"/path/to/IU_ANMO_00_BHZ.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005103889999986677}, "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.00022189199998479125}}, {"call": {"outcome": "passed", "duration": 0.0005263289999959397}, "setup": {"outcome": "passed", "duration": 0.00040359100000841863}, "lineno": 110, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_attach_paz", "outcome": "passed", "keywords": ["test_attach_paz", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001881809999986217}}, {"call": {"outcome": "passed", "duration": 0.0004915940000103092}, "setup": {"outcome": "passed", "duration": 0.0003845550000107778}, "lineno": 127, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_attach_paz_diff_order", "outcome": "passed", "keywords": ["test_attach_paz_diff_order", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018837000001781234}}, {"call": {"outcome": "passed", "duration": 0.0004058350000093469}, "setup": {"outcome": "passed", "duration": 0.0004125760000022183}, "lineno": 136, "nodeid": "io/sac/tests/test_sacpz.py::TestSACPZ::test_sacpaz_from_dataless", "outcome": "passed", "keywords": ["test_sacpaz_from_dataless", "filterwarnings", "TestSACPZ", "test_sacpz.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017636800001241681}}, {"call": {"outcome": "passed", "duration": 0.0073894679999853}, "setup": {"outcome": "passed", "duration": 0.0003790650000041751}, "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.0001995710000244344}}, {"call": {"outcome": "passed", "duration": 0.021786281000004237}, "setup": {"outcome": "passed", "duration": 0.00042357699999229226}, "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.00042143400000327347}}, {"call": {"outcome": "passed", "duration": 0.0009826370000212137}, "setup": {"outcome": "passed", "duration": 0.0009598839999966913}, "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.00018842000000063308}}, {"call": {"outcome": "passed", "duration": 0.0005854279999937262}, "setup": {"outcome": "passed", "duration": 0.0004387150000013662}, "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.0001850539999850298}}, {"call": {"outcome": "passed", "duration": 0.001357613999999785}, "setup": {"outcome": "passed", "duration": 0.00042473899998185516}, "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.00018618600000763763}}, {"call": {"outcome": "passed", "duration": 0.0013761080000165293}, "setup": {"outcome": "passed", "duration": 0.0004204909999998563}, "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.00018728800000644696}}, {"call": {"outcome": "passed", "duration": 0.0018853850000084549}, "setup": {"outcome": "passed", "duration": 0.0004086099999938142}, "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.00021752500001070985}}, {"call": {"outcome": "passed", "duration": 0.0007292860000234214}, "setup": {"outcome": "passed", "duration": 0.0004300300000181778}, "lineno": 125, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_read_sac_ascii", "outcome": "passed", "keywords": ["test_read_sac_ascii", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018738800000051015}}, {"call": {"outcome": "passed", "duration": 0.0014791489999765872}, "setup": {"outcome": "passed", "duration": 0.0004219740000053207}, "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.00018771899999592279}}, {"call": {"outcome": "passed", "duration": 0.001351241999998365}, "setup": {"outcome": "passed", "duration": 0.0004094909999992069}, "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.0001892720000000736}}, {"call": {"outcome": "passed", "duration": 0.0015304860000071585}, "setup": {"outcome": "passed", "duration": 0.000413950000023533}, "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.00018739899999786758}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009200099999873146, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sac/tests/test_sactrace.py\", line 219, in test_propagate_modified_stats_strings_to_sactrace\n    tr = read(self.fileseis)[0]\n         ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040925999999785745}, "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.0001952830000107042}}, {"call": {"outcome": "passed", "duration": 0.0006159449999927347}, "setup": {"outcome": "passed", "duration": 0.00043236400000523645}, "lineno": 227, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_reftime_incomplete", "outcome": "passed", "keywords": ["test_reftime_incomplete", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018563499997981125}}, {"call": {"outcome": "passed", "duration": 0.0010251960000005056}, "setup": {"outcome": "passed", "duration": 0.0004140190000043731}, "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.00018397200000208613}}, {"call": {"outcome": "passed", "duration": 0.0025684740000144757}, "setup": {"outcome": "passed", "duration": 0.0004232770000101027}, "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.00018905199999608158}}, {"call": {"outcome": "passed", "duration": 0.0005156980000151634}, "setup": {"outcome": "passed", "duration": 0.0005886540000119567}, "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.00018672800001695578}}, {"call": {"outcome": "passed", "duration": 0.0005665529999987484}, "setup": {"outcome": "passed", "duration": 0.0004360709999957635}, "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.00018634599999245438}}, {"call": {"outcome": "passed", "duration": 0.0068765340000140895}, "setup": {"outcome": "passed", "duration": 0.00043564000000628766}, "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.00019153600001686755}}, {"call": {"outcome": "passed", "duration": 0.0011383360000252196}, "setup": {"outcome": "passed", "duration": 0.0004391359999829092}, "lineno": 351, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_string_headers", "outcome": "passed", "keywords": ["test_string_headers", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002067839999995158}}, {"call": {"outcome": "passed", "duration": 0.0003366560000017671}, "setup": {"outcome": "passed", "duration": 0.00041850799999565425}, "lineno": 385, "nodeid": "io/sac/tests/test_sactrace.py::TestSACTrace::test_kevnm", "outcome": "passed", "keywords": ["test_kevnm", "filterwarnings", "TestSACTrace", "test_sactrace.py", "tests", "sac", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018171799999322502}}, {"call": {"outcome": "passed", "duration": 0.0005925109999793676}, "setup": {"outcome": "passed", "duration": 0.0003988409999919895}, "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.00021758400001203881}}, {"call": {"outcome": "passed", "duration": 0.0004173259999902257}, "setup": {"outcome": "passed", "duration": 0.00040033400000538677}, "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.000432133000003887}}, {"call": {"outcome": "failed", "duration": 0.010093323999996073, "longrepr": "013     GNU Lesser General Public License, Version 3\n014     (https://www.gnu.org/copyleft/lesser.html)\n015 \n016 Example\n017 -------\n018 \n019 It works by utilizing ObsPy's :func:`~obspy.core.event.read_events` function.\n020 \n021 >>> import obspy\n022 >>> cat = obspy.read_events(\"/path/to/test.scardec\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.scardec[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007959089999758362}, "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.00019417200002180834}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007911909999904765, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/tests/test_core.py\", line 33, in test_read_and_write_scardec_from_files\n    cat = obspy.read_events(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0011479830000098445}, "lineno": 19, "nodeid": "io/scardec/tests/test_core.py::TestScardec::test_read_and_write_scardec_from_files", "outcome": "failed", "keywords": ["test_read_and_write_scardec_from_files", "filterwarnings", "TestScardec", "test_core.py", "tests", "scardec", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018022399999040317}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0004236180000134482, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/tests/test_core.py\", line 83, in test_read_and_write_scardec_from_open_files\n    cat = obspy.read_events(fh)\n          ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000363074000006236}, "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.00019072499998173953}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0006043439999814382, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/scardec/tests/test_core.py\", line 129, in test_read_and_write_scardec_from_bytes_io\n    cat = obspy.read_events(buf)\n          ^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033058500000038293}, "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.00019738700001425968}}, {"call": {"outcome": "passed", "duration": 0.00490336499998989}, "setup": {"outcome": "passed", "duration": 0.00033973199998627024}, "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.0002599839999959386}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014717159999975138, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seg2/tests/test_seg2.py\", line 91, in test_read_data_format_2\n    st = read(basename + \".seg2.gz\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0012854200000163019}, "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.0001797449999969558}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000869276000003083, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seg2/tests/test_seg2.py\", line 114, in test_read_data_format_3\n    st = read(basename + \".seg2\")\n         ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003440499999953772}, "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.0002780069999914758}}, {"call": {"outcome": "passed", "duration": 0.015240993000020353}, "setup": {"outcome": "passed", "duration": 0.0007630690000155482}, "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.00018454300001735646}}, {"call": {"outcome": "failed", "duration": 0.010039032999998199, "longrepr": "156         enhance performance and especially memory usage with large files. The\n157         header values can still be accessed and will be calculated on the fly\n158         but tab completion will no longer work. Look in the headers.py for a\n159         list of all possible trace header values. Defaults to ``False``.\n160     :returns: A ObsPy :class:`~obspy.core.stream.Stream` object.\n161 \n162     .. rubric:: Example\n163 \n164     >>> from obspy import read\n165     >>> st = read(\"/path/to/00001034.sgy_first_trace\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.segy.core._read_segy[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/core.py:165: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004096620000098028}, "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.00019408099998940997}}, {"call": {"outcome": "failed", "duration": 0.009720270000002529, "longrepr": "446         enhance performance and especially memory usage with large files. The\n447         header values can still be accessed and will be calculated on the fly\n448         but tab completion will no longer work. Look in the headers.py for a\n449         list of all possible trace header values. Defaults to ``False``.\n450     :returns: A ObsPy :class:`~obspy.core.stream.Stream` object.\n451 \n452     .. rubric:: Example\n453 \n454     >>> from obspy import read\n455     >>> st = read(\"/path/to/1.su_first_trace\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.segy.core._read_su[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/core.py:455: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032689799999729985}, "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.0002125549999902887}}, {"call": {"outcome": "passed", "duration": 0.008797884999978578}, "setup": {"outcome": "passed", "duration": 0.00046133700001860234}, "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.0001891320000027008}}, {"call": {"outcome": "passed", "duration": 0.008346807000009449}, "setup": {"outcome": "passed", "duration": 0.0003466440000181592}, "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.0001941209999927196}}, {"call": {"outcome": "passed", "duration": 0.0006943209999974442}, "setup": {"outcome": "passed", "duration": 0.0012364890000071682}, "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.000160359000005883}}, {"call": {"outcome": "passed", "duration": 0.0006782009999994898}, "setup": {"outcome": "passed", "duration": 0.0003530860000182656}, "lineno": 44, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_is_su_file", "outcome": "passed", "keywords": ["test_is_su_file", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015785299999038216}}, {"call": {"outcome": "passed", "duration": 0.0017051810000054957}, "setup": {"outcome": "passed", "duration": 0.0003370869999912429}, "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.00016626899997618239}}, {"call": {"outcome": "passed", "duration": 0.0016634330000044883}, "setup": {"outcome": "passed", "duration": 0.00032430199999566867}, "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.00018572499999436332}}, {"call": {"outcome": "passed", "duration": 0.004713672999997698}, "setup": {"outcome": "passed", "duration": 0.0003278590000093118}, "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.0001900839999962045}}, {"call": {"outcome": "passed", "duration": 0.003077560999997786}, "setup": {"outcome": "passed", "duration": 0.00034145500001159235}, "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.00017146800001910378}}, {"call": {"outcome": "passed", "duration": 0.00525101200000222}, "setup": {"outcome": "passed", "duration": 0.0003662010000198279}, "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.00017033599999649596}}, {"call": {"outcome": "passed", "duration": 0.0009321329999920636}, "setup": {"outcome": "passed", "duration": 0.0003443599999854996}, "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.0001921870000103354}}, {"call": {"outcome": "passed", "duration": 0.0008361240000169801}, "setup": {"outcome": "passed", "duration": 0.0003328989999999976}, "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.00018798899998273555}}, {"call": {"outcome": "passed", "duration": 0.004411470999997391}, "setup": {"outcome": "passed", "duration": 0.000325403999994478}, "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.00017005699999117496}}, {"call": {"outcome": "passed", "duration": 0.0011786910000068929}, "setup": {"outcome": "passed", "duration": 0.0003376379999906476}, "lineno": 255, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_enforcing_endianness_while_reading", "outcome": "passed", "keywords": ["test_enforcing_endianness_while_reading", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016795199999819488}}, {"call": {"outcome": "passed", "duration": 0.005298790000011877}, "setup": {"outcome": "passed", "duration": 0.00032820100000208186}, "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.00017198999998413456}}, {"call": {"outcome": "passed", "duration": 0.017837029000020266}, "setup": {"outcome": "passed", "duration": 0.00033849899998017463}, "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.00017079799999919487}}, {"call": {"outcome": "passed", "duration": 0.0002961799999923187}, "setup": {"outcome": "passed", "duration": 0.0003503819999934876}, "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.00015905500001167638}}, {"call": {"outcome": "passed", "duration": 0.0011250619999998435}, "setup": {"outcome": "passed", "duration": 0.0003446799999835548}, "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.00016126000002714136}}, {"call": {"outcome": "passed", "duration": 0.0026920050000001083}, "setup": {"outcome": "passed", "duration": 0.00034023300000285417}, "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.00016467599999714366}}, {"call": {"outcome": "passed", "duration": 0.0011790719999851262}, "setup": {"outcome": "passed", "duration": 0.0003493099999900551}, "lineno": 385, "nodeid": "io/segy/tests/test_core.py::TestSEGYCore::test_reading_date", "outcome": "passed", "keywords": ["test_reading_date", "filterwarnings", "TestSEGYCore", "test_core.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001675009999928534}}, {"call": {"outcome": "passed", "duration": 0.003377559000000474}, "setup": {"outcome": "passed", "duration": 0.000325293999992482}, "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.0001701360000083696}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002296560000019099, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_core.py\", line 441, in test_writing_su_file_with_no_header\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003238120000048639}, "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.00018077599997923244}}, {"call": {"outcome": "passed", "duration": 0.003939042999974163}, "setup": {"outcome": "passed", "duration": 0.00036731299999814837}, "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.00016825299999823073}}, {"call": {"outcome": "passed", "duration": 0.004071369000001823}, "setup": {"outcome": "passed", "duration": 0.0003462930000068809}, "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.0001873380000176894}}, {"call": {"outcome": "passed", "duration": 0.0013125799999897936}, "setup": {"outcome": "passed", "duration": 0.00033905999998751213}, "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.00016673999999738953}}, {"call": {"outcome": "passed", "duration": 0.0009934069999815165}, "setup": {"outcome": "passed", "duration": 0.00035791499999504595}, "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.0001631030000055489}}, {"call": {"outcome": "passed", "duration": 0.013679940999992368}, "setup": {"outcome": "passed", "duration": 0.0003300029999877552}, "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.00017138800001248455}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009244089999924654, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_core.py\", line 597, in test_comparing_still_packed_trace_headers\n    header_a = read(file)[0].stats.segy.trace_header\n               ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003440689999933966}, "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.000200382000002719}}, {"call": {"outcome": "passed", "duration": 0.013626340999991271}, "setup": {"outcome": "passed", "duration": 0.00029281400000513713}, "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.0001783310000007532}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021279059999983474, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_core.py\", line 640, in test_writing_text_and_binary_textual_file_headers\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002941459999874496}, "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.00018985299999485505}}, {"call": {"outcome": "passed", "duration": 0.00678643599999873}, "setup": {"outcome": "passed", "duration": 0.00031385299999442395}, "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.0002592120000031173}}, {"call": {"outcome": "passed", "duration": 0.002185642999990023}, "setup": {"outcome": "passed", "duration": 0.0008522549999838702}, "lineno": 30, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_unpack_segy_data", "outcome": "passed", "keywords": ["test_unpack_segy_data", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017728899999269743}}, {"call": {"outcome": "passed", "duration": 0.0021625900000117326}, "setup": {"outcome": "passed", "duration": 0.00033733800000845804}, "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.000179774000002908}}, {"call": {"outcome": "passed", "duration": 0.04406792200001064}, "setup": {"outcome": "passed", "duration": 0.0002956890000120893}, "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.00021482899998659377}}, {"call": {"outcome": "passed", "duration": 0.0371860189999893}, "setup": {"outcome": "passed", "duration": 0.0003665410000053271}, "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.0002462379999883524}}, {"call": {"outcome": "passed", "duration": 0.0006682830000102058}, "setup": {"outcome": "passed", "duration": 0.0004188489999989997}, "lineno": 230, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_pack_and_unpack_ibm_special_cases", "outcome": "passed", "keywords": ["test_pack_and_unpack_ibm_special_cases", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001822389999972529}}, {"call": {"outcome": "passed", "duration": 0.0010277709999968465}, "setup": {"outcome": "passed", "duration": 0.0003705990000071324}, "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.00017887199999222503}}, {"call": {"outcome": "passed", "duration": 0.0008035140000117735}, "setup": {"outcome": "passed", "duration": 0.00033534300001747397}, "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.00018151699998725235}}, {"call": {"outcome": "passed", "duration": 0.002724585000009938}, "setup": {"outcome": "passed", "duration": 0.0003305440000076487}, "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.00017155899999465873}}, {"call": {"outcome": "passed", "duration": 0.010295670000004975}, "setup": {"outcome": "passed", "duration": 0.000739904999988994}, "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.00021584099999927275}}, {"call": {"outcome": "passed", "duration": 0.007447364999990214}, "setup": {"outcome": "passed", "duration": 0.0004574510000168175}, "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.00020605299999942872}}, {"call": {"outcome": "passed", "duration": 0.00069549299999494}, "setup": {"outcome": "passed", "duration": 0.00034856799999261057}, "lineno": 382, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_unpack_binary_file_header", "outcome": "passed", "keywords": ["test_unpack_binary_file_header", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017630800002166325}}, {"call": {"outcome": "passed", "duration": 0.0031920740000259684}, "setup": {"outcome": "passed", "duration": 0.0003334200000040255}, "lineno": 426, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_unpack_trace_header", "outcome": "passed", "keywords": ["test_unpack_trace_header", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019371000001910943}}, {"call": {"outcome": "passed", "duration": 0.0009973740000077669}, "setup": {"outcome": "passed", "duration": 0.0003257150000024467}, "lineno": 534, "nodeid": "io/segy/tests/test_segy.py::TestSEGY::test_read_bytes_io", "outcome": "passed", "keywords": ["test_read_bytes_io", "filterwarnings", "TestSEGY", "test_segy.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017561699999646407}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009110530000100425, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 576, in test_iterative_reading\n    st = obspy.read(filename, unpack_trace_headers=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034452100001658437}, "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.00018929199998751756}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022335619999864775, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 595, in test_revision_number_in_binary_file_header\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002978729999938423}, "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.0001926079999918784}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00238554500000987, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 615, in test_textual_header_has_the_right_fields_at_the_end\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031818200000088837}, "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.00018358100001591993}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021700750000093194, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_segy.py\", line 744, in test_packing_raises_nice_error_messages\n    tr = obspy.read()[0]\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002988260000051923}, "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.0002744500000062544}}, {"call": {"outcome": "passed", "duration": 0.0014170550000187632}, "setup": {"outcome": "passed", "duration": 0.0008647880000012265}, "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.0001790329999948881}}, {"call": {"outcome": "passed", "duration": 0.000517281000014691}, "setup": {"outcome": "passed", "duration": 0.0003725530000053823}, "lineno": 41, "nodeid": "io/segy/tests/test_su.py::TestSU::test_enforcing_byteorders_while_reading", "outcome": "passed", "keywords": ["test_enforcing_byteorders_while_reading", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017512599998781297}}, {"call": {"outcome": "passed", "duration": 0.001918617000001177}, "setup": {"outcome": "passed", "duration": 0.0003563519999829623}, "lineno": 60, "nodeid": "io/segy/tests/test_su.py::TestSU::test_reading_and_writing_different_byteorders", "outcome": "passed", "keywords": ["test_reading_and_writing_different_byteorders", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017577699998128082}}, {"call": {"outcome": "passed", "duration": 0.0006019390000062685}, "setup": {"outcome": "passed", "duration": 0.0003638359999911245}, "lineno": 92, "nodeid": "io/segy/tests/test_su.py::TestSU::test_unpacking_su_data", "outcome": "passed", "keywords": ["test_unpacking_su_data", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017449399999236448}}, {"call": {"outcome": "passed", "duration": 0.00033237799999596973}, "setup": {"outcome": "passed", "duration": 0.00035428900000056274}, "lineno": 106, "nodeid": "io/segy/tests/test_su.py::TestSU::test_read_bytes_io", "outcome": "passed", "keywords": ["test_read_bytes_io", "filterwarnings", "TestSU", "test_su.py", "tests", "segy", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001664800000185096}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008611709999968298, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/segy/tests/test_su.py\", line 124, in test_iterative_reading\n    st = obspy.read(filename, unpack_trace_headers=True)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032567599998856167}, "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.000283967999990864}}, {"call": {"outcome": "failed", "duration": 0.010561914000021488, "longrepr": "014 \n015 Reading\n016 -------\n017 Importing SEISAN files is done similar to reading any other waveform data\n018 format within ObsPy by using the :func:`~obspy.core.stream.read()` method of\n019 the :mod:`obspy.core` module. Example seismogram files may be found at\n020 https://examples.obspy.org.\n021 \n022 >>> from obspy import read\n023 >>> st = read(\"/path/to/2001-01-13-1742-24S.KONO__004\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seisan[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seisan/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008135630000083438}, "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.00019220699999777935}}, {"call": {"outcome": "skipped", "duration": 0.0002385030000198185, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.00040715699998372656}, "lineno": 19, "nodeid": "io/seisan/core.py::obspy.io.seisan.core._is_seisan", "outcome": "skipped", "keywords": ["obspy.io.seisan.core._is_seisan", "filterwarnings", "core.py", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001660590000085449}}, {"call": {"outcome": "failed", "duration": 0.010012614000004305, "longrepr": "114 \n115     :type filename: str\n116     :param filename: SEISAN file to be read.\n117     :rtype: :class:`~obspy.core.stream.Stream`\n118     :return: A ObsPy Stream object.\n119 \n120     .. rubric:: Example\n121 \n122     >>> from obspy import read\n123     >>> st = read(\"/path/to/2001-01-13-1742-24S.KONO__004\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seisan.core._read_seisan[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seisan/core.py:123: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003348019999975804}, "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.0001985579999939091}}, {"call": {"outcome": "passed", "duration": 0.00034085400000094523}, "setup": {"outcome": "passed", "duration": 0.0012372000000198113}, "lineno": 15, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_get_version", "outcome": "passed", "keywords": ["test_get_version", "filterwarnings", "TestCore", "test_core.py", "tests", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001613800000086485}}, {"call": {"outcome": "passed", "duration": 0.0003232509999975264}, "setup": {"outcome": "passed", "duration": 0.00035355699998262935}, "lineno": 37, "nodeid": "io/seisan/tests/test_core.py::TestCore::test_is_seisan", "outcome": "passed", "keywords": ["test_is_seisan", "filterwarnings", "TestCore", "test_core.py", "tests", "seisan", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001788220000094043}}, {"call": {"outcome": "passed", "duration": 0.02216357300000027}, "setup": {"outcome": "passed", "duration": 0.0003190340000003289}, "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.00019077500002140368}}, {"call": {"outcome": "passed", "duration": 0.022251635999992914}, "setup": {"outcome": "passed", "duration": 0.0003725230000100055}, "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.00019806800000310432}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009326040000132707, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seisan/tests/test_core.py\", line 202, in test_read_obspy\n    st1 = read(testdata['2011-09-06-1311-36S.A1032_001BH_Z'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003539180000018405}, "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.0002524699999923996}}, {"call": {"outcome": "failed", "duration": 0.010700503000009576, "longrepr": "064         restriction, this ID prefix allows to convert the IDs to a well\n065         formatted QuakeML ID. You can modify the default ID prefix with the\n066         reverse DNS name of your institute.\n067     :rtype: :class:`~obspy.core.event.Catalog`\n068     :return: An ObsPy Catalog object.\n069 \n070     .. rubric:: Example\n071 \n072     >>> from obspy import read_events\n073     >>> cat = read_events('/path/to/iris_events.sc3ml')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.seiscomp.event._read_scml[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/event.py:73: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0007773750000126256}, "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.00020120400000678273}}, {"call": {"outcome": "passed", "duration": 0.002725837999975056}, "setup": {"outcome": "passed", "duration": 0.00042068199999789613}, "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.000167611999984274}}, {"call": {"outcome": "passed", "duration": 0.003512550000010606}, "setup": {"outcome": "passed", "duration": 0.001463379999989911}, "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.00016899400000625064}}, {"call": {"outcome": "passed", "duration": 0.0002940370000032999}, "setup": {"outcome": "passed", "duration": 0.00034355900001514783}, "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.00017291099999283688}}, {"call": {"outcome": "passed", "duration": 0.012232179999983828}, "setup": {"outcome": "passed", "duration": 0.0003710200000170971}, "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.0002596030000177052}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008576450000248315, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 200, in test_scml_versions\n    read_events(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.004057603000006793}, "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.00019387000000392618}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03724433700000418}, "setup": {"outcome": "passed", "duration": 0.0004644630000143479}, "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.0002726259999974445}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.038314646999992874}, "setup": {"outcome": "passed", "duration": 0.0005570850000253813}, "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.00026714699998819924}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03739079999999717}, "setup": {"outcome": "passed", "duration": 0.0005588190000196391}, "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.00023630900000171096}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03691701899998634}, "setup": {"outcome": "passed", "duration": 0.000546224999993683}, "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.00023662000000967964}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03672499199998924}, "setup": {"outcome": "passed", "duration": 0.0005037560000005215}, "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.0002309499999739728}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.037466881000000285}, "setup": {"outcome": "passed", "duration": 0.000520257000005131}, "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.00024143900000694885}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.038587684999981775}, "setup": {"outcome": "passed", "duration": 0.0005896560000167028}, "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.0002545030000078441}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.038915904999981876}, "setup": {"outcome": "passed", "duration": 0.0005474579999997786}, "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.00024934400002507573}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.040219428000000335}, "setup": {"outcome": "passed", "duration": 0.0005755899999826397}, "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.0002494139999953404}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03951912599998764}, "setup": {"outcome": "passed", "duration": 0.0005634270000030028}, "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.0002462379999883524}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.038148678999988306}, "setup": {"outcome": "passed", "duration": 0.0005390219999981127}, "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.00027622400000382186}}, {"call": {"stdout": "DEBUG::  0.10\nDEBUG::  0.11\nDEBUG::  0.12\nDEBUG::  0.13\nDEBUG::  0.14\n", "outcome": "passed", "duration": 0.03978149299999245}, "setup": {"outcome": "passed", "duration": 0.0006112160000100175}, "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.0002963510000029146}}, {"call": {"outcome": "passed", "duration": 0.00607777899998041}, "setup": {"outcome": "passed", "duration": 0.0006052859999954308}, "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.00021045099998673322}}, {"call": {"outcome": "passed", "duration": 0.005769786000001886}, "setup": {"outcome": "passed", "duration": 0.0004988270000012562}, "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.00020677399999158297}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00043591100001094674, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 311, in test_read_string\n    catalog = read_events(data)\n              ^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 730, in _generic_reader\n    return callback_func(io.BytesIO(pathname_or_url), **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000493037000012464}, "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.00019664499998839347}}, {"call": {"outcome": "passed", "duration": 0.014471752000019933}, "setup": {"outcome": "passed", "duration": 0.0004806640000083462}, "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.00022228299999937917}}, {"call": {"outcome": "passed", "duration": 0.00651504100000011}, "setup": {"outcome": "passed", "duration": 0.0004823959999953331}, "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.0002168430000040189}}, {"call": {"outcome": "passed", "duration": 0.008490854999990916}, "setup": {"outcome": "passed", "duration": 0.0004438450000066041}, "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.00022783299999673545}}, {"call": {"outcome": "passed", "duration": 0.01042495099997609}, "setup": {"outcome": "passed", "duration": 0.00044383499999867126}, "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.00020033300000932286}}, {"call": {"outcome": "passed", "duration": 0.010247109999994564}, "setup": {"outcome": "passed", "duration": 0.0004418409999971118}, "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.0002001720000066598}}, {"call": {"outcome": "passed", "duration": 0.0088604210000085}, "setup": {"outcome": "passed", "duration": 0.0004622390000008636}, "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.00019752699998321077}}, {"call": {"outcome": "passed", "duration": 0.008645131999998057}, "setup": {"outcome": "passed", "duration": 0.0004447369999809325}, "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.00020383899999387722}}, {"call": {"outcome": "passed", "duration": 0.008423128999993423}, "setup": {"outcome": "passed", "duration": 0.0004608670000152415}, "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.00020874799997727678}}, {"call": {"outcome": "passed", "duration": 0.008816119000016442}, "setup": {"outcome": "passed", "duration": 0.00045251099999177313}, "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.0002094589999899199}}, {"call": {"outcome": "passed", "duration": 0.00932872199999224}, "setup": {"outcome": "passed", "duration": 0.0004623690000187253}, "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.0001984189999859609}}, {"call": {"outcome": "passed", "duration": 0.00999499099998502}, "setup": {"outcome": "passed", "duration": 0.0004439450000006673}, "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.00022353500000349413}}, {"call": {"outcome": "passed", "duration": 0.038322340999997095}, "setup": {"outcome": "passed", "duration": 0.00043401700000345045}, "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.0002698010000017348}}, {"call": {"outcome": "passed", "duration": 0.038204641999982414}, "setup": {"outcome": "passed", "duration": 0.0005711820000158241}, "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.00024037699998302742}}, {"call": {"outcome": "passed", "duration": 0.016237674999985074}, "setup": {"outcome": "passed", "duration": 0.0005146670000044651}, "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.00021557099998403828}}, {"call": {"outcome": "passed", "duration": 0.00947951299997385}, "setup": {"outcome": "passed", "duration": 0.0004813449999971908}, "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.0001945820000059939}}, {"call": {"outcome": "passed", "duration": 0.037554494000005434}, "setup": {"outcome": "passed", "duration": 0.000442050999993171}, "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.00020332799999778217}}, {"call": {"outcome": "passed", "duration": 0.007736843000003546}, "setup": {"outcome": "passed", "duration": 0.0004716969999947196}, "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.00019512299999746574}}, {"call": {"outcome": "passed", "duration": 0.00986354700000902}, "setup": {"outcome": "passed", "duration": 0.0004328050000026451}, "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.00020869899998388064}}, {"call": {"outcome": "passed", "duration": 0.015094491000013477}, "setup": {"outcome": "passed", "duration": 0.00044902500002308443}, "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.00021811499999557782}}, {"call": {"outcome": "passed", "duration": 0.015215124999997443}, "setup": {"outcome": "passed", "duration": 0.0005139959999951316}, "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.00021949699998913275}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000864757999977428, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 476, in test_read_and_write\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005306669999924907}, "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.00021764399997437067}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007313689999932649, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_event.py\", line 488, in test_read_and_write_scml_fields\n    catalog = read_events(filename)\n              ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045057700000938894}, "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.0005761209999946004}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002097800000001371, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 51, in test_scml_versions\n    read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.04803651899999295}, "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.00021908799999437178}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008303930000010951, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 59, in test_channel_level\n    inv = read_inventory(testdata[\"channel_level.sc3ml\"])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.03437469299998952}, "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.00022246399998948618}}, {"call": {"outcome": "passed", "duration": 0.03132854999998358}, "setup": {"outcome": "passed", "duration": 0.03628401199998166}, "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.0002459969999790701}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00102268100002334, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 117, in test_empty_depth\n    read_inventory(testdata[\"sc3ml_empty_depth_and_id.sc3ml\"])\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.03611641100002316}, "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.0002338950000080331}}, {"call": {"outcome": "passed", "duration": 0.0003870200000051227}, "setup": {"outcome": "passed", "duration": 0.03530520300000717}, "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.0001997120000112318}}, {"call": {"outcome": "passed", "duration": 0.01595801599998481}, "setup": {"outcome": "passed", "duration": 0.035550648999986834}, "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.00023035800001025564}}, {"call": {"outcome": "passed", "duration": 0.00038886300001195195}, "setup": {"outcome": "passed", "duration": 0.034741093999997474}, "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.00020428000001970759}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009887090000120224, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/seiscomp/tests/test_inventory.py\", line 271, in test_stage_empty_poles_and_zeros\n    scml_inv = read_inventory(scml_mbar_path)\n               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.03558929999999805}, "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.00037378499999363157}}, {"call": {"outcome": "failed", "duration": 0.010694861999979821, "longrepr": "014 \n015 Reading\n016 -------\n017 Importing Q or ASC files is done similar to reading any other waveform data\n018 format within ObsPy by using the :func:`~obspy.core.stream.read()` method of\n019 the :mod:`obspy.core` module. Examples seismograms files may be found at\n020 https://examples.obspy.org.\n021 \n022 >>> from obspy import read\n023 >>> st = read(\"/path/to/QFILE-TEST-ASC.ASC\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/__init__.py:23: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008795450000036453}, "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.0001822689999926297}}, {"call": {"outcome": "skipped", "duration": 0.00023028800001156924, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0004470810000043457}, "lineno": 68, "nodeid": "io/sh/core.py::obspy.io.sh.core._is_asc", "outcome": "skipped", "keywords": ["obspy.io.sh.core._is_asc", "filterwarnings", "core.py", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016860400000950904}}, {"call": {"outcome": "skipped", "duration": 0.0002033079999819165, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0003433779999966191}, "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.00018330099999275262}}, {"call": {"outcome": "failed", "duration": 0.01031298200001629, "longrepr": "113     :type length: int, optional\n114     :param length: If ``skip`` is used, ``length`` defines the number of values\n115         to be read.\n116     :rtype: :class:`~obspy.core.stream.Stream`\n117     :return: A ObsPy Stream object.\n118 \n119     .. rubric:: Example\n120 \n121     >>> from obspy import read\n122     >>> st = read(\"/path/to/QFILE-TEST-ASC.ASC\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh.core._read_asc[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/core.py:122: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00030512700001850135}, "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.00017797000000996377}}, {"call": {"outcome": "failed", "duration": 0.009933777000014743, "longrepr": "357     ObsPy assumes that the corresponding data file is within the same directory\n358     if the ``data_directory`` parameter is not set. Otherwise it will search\n359     in the given ``data_directory`` for a file with the `QBN` file extension.\n360     This function should NOT be called directly, it registers via the\n361     ObsPy :func:`~obspy.core.stream.read` function, call this instead.\n362 \n363     .. rubric:: Example\n364 \n365     >>> from obspy import read\n366     >>> st = read(\"/path/to/QFILE-TEST.QHD\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.sh.core._read_q[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/core.py:366: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003409040000121877}, "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.00017787100000532519}}, {"call": {"outcome": "passed", "duration": 0.002760011000020768}, "setup": {"outcome": "passed", "duration": 0.00034975000002646084}, "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.0001760469999965153}}, {"call": {"outcome": "passed", "duration": 0.0029034070000193424}, "setup": {"outcome": "passed", "duration": 0.00036140199998158096}, "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.000170276999995167}}, {"call": {"outcome": "passed", "duration": 0.021981744000015624}, "setup": {"outcome": "passed", "duration": 0.0012577680000163127}, "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.00021229499998298706}}, {"call": {"outcome": "passed", "duration": 0.0003220989999874746}, "setup": {"outcome": "passed", "duration": 0.0003644470000097044}, "lineno": 25, "nodeid": "io/sh/tests/test_core.py::TestCore::test_is_asc_file", "outcome": "passed", "keywords": ["test_is_asc_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016180000000076689}}, {"call": {"outcome": "passed", "duration": 0.00029641099999366816}, "setup": {"outcome": "passed", "duration": 0.0003333200000099623}, "lineno": 34, "nodeid": "io/sh/tests/test_core.py::TestCore::test_is_q_file", "outcome": "passed", "keywords": ["test_is_q_file", "filterwarnings", "TestCore", "test_core.py", "tests", "sh", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001606790000039382}}, {"call": {"outcome": "passed", "duration": 0.0013723419999962516}, "setup": {"outcome": "passed", "duration": 0.0003242129999989629}, "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.00016674999997690065}}, {"call": {"outcome": "passed", "duration": 0.012970122000012907}, "setup": {"outcome": "passed", "duration": 0.0003380280000158109}, "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.0002301680000016404}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.011096888999986732, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 142, in test_read_and_write_multi_channel_asc_file_via_obspy\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036164200000143865}, "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.00018611599998052952}}, {"call": {"outcome": "passed", "duration": 0.007556838999988713}, "setup": {"outcome": "passed", "duration": 0.00034272699997472955}, "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.00016864300002339405}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004308538999993061, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 198, in test_read_and_write_multi_channel_q_file_via_obspy\n    stream2 = read(tempfile)\n              ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003498000000092816}, "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.0001768190000177583}}, {"call": {"outcome": "passed", "duration": 0.0012702619999913622}, "setup": {"outcome": "passed", "duration": 0.0003356740000128866}, "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.00016721099999017497}}, {"call": {"outcome": "passed", "duration": 0.017947623999987172}, "setup": {"outcome": "passed", "duration": 0.0002974530000017239}, "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.00018748799999457333}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002132474000006823, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 262, in test_write_long_header\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030442599998536934}, "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.00017487499999901956}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002028662000014947, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 277, in test_header_whitespaces\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00031797099998698286}, "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.00020726500000023407}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022763620000034734, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_core.py\", line 292, in test_append_traces\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029521899998030676}, "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.0002571379999949386}}, {"call": {"outcome": "passed", "duration": 0.001133998000000247}, "setup": {"outcome": "passed", "duration": 0.0006220369999994091}, "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.00016657899999472647}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000714027000014994, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 12, in test_local_event1\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005466659999910917}, "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.00019997100000068713}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007377510000026177, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 17, in test_local_event2\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033048500000631975}, "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.00019571400000018002}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000707836000003681, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 34, in test_tele_event1\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033294899998281835}, "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.00017918300000019372}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007916920000070604, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 40, in test_tele_event2\n    cat = read_events(fname)\n          ^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033879000000069937}, "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.00018134699999450277}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.061711731999992026, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/sh/tests/test_evt.py\", line 84, in test_populate_waveform_id\n    cat = read_events(fname, inventory=inv,\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034785699997996744}, "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.00032003500001565044}}, {"call": {"outcome": "failed", "duration": 0.06354872700001124, "longrepr": "005 This module provides write support for the ESRI shapefile format.\n006 \n007 Write support works via the ObsPy plugin structure for\n008 :class:`~obspy.core.event.Catalog` and\n009 :class:`~obspy.core.inventory.inventory.Inventory`:\n010 \n011 >>> from obspy import read_inventory, read_events\n012 >>> inv = read_inventory()  # load example data\n013 >>> inv.write(\"my_stations.shp\", format=\"SHAPEFILE\")  # doctest: +SKIP\n014 >>> cat = read_events()  # load example data\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.shapefile[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 826, in read_events\n    return _create_example_catalog()\n           ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 847, in _create_example_catalog\n    return read_events('/path/to/neries_events.xml')\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/__init__.py:14: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008882410000126129}, "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.0002312609999819415}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005090292999994972, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/tests/test_core.py\", line 193, in test_write_catalog_shapefile\n    cat = read_events('/path/to/mchedr.dat')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0009122559999923396}, "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.00019150599999306905}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005037775999994665, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/tests/test_core.py\", line 230, in test_write_catalog_shapefile_with_extra_field\n    cat = read_events('/path/to/mchedr.dat')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000337287000007791}, "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.000198137999973369}}, {"call": {"outcome": "passed", "duration": 0.06951157200001035}, "setup": {"outcome": "passed", "duration": 0.0003152060000104484}, "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.00022259400000734786}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005260569000000714, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/shapefile/tests/test_core.py\", line 339, in test_write_catalog_shapefile_via_plugin\n    cat = read_events('/path/to/mchedr.dat')\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000362684999998919}, "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.00018376099998818063}}, {"call": {"outcome": "passed", "duration": 0.0598659409999982}, "setup": {"outcome": "passed", "duration": 0.00031905299999834824}, "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.00022633099999325168}}, {"call": {"outcome": "passed", "duration": 0.07110120699999811}, "setup": {"outcome": "passed", "duration": 0.00036203299998760485}, "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.00023183100000778722}}, {"call": {"outcome": "failed", "duration": 0.01092956799999456, "longrepr": "015 \n016 \n017 Example\n018 -------\n019 \n020 Don't use this module directly but utilize it through the\n021 :func:`~obspy.core.inventory.inventory.read_inventory` function.\n022 \n023 >>> import obspy\n024 >>> inv = obspy.read_inventory(\"/path/to/channel_level_fdsn.txt\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.stationtxt[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/__init__.py:24: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0009058739999829868}, "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.00017883200001733712}}, {"call": {"outcome": "passed", "duration": 0.0017814809999947556}, "setup": {"outcome": "passed", "duration": 0.0012219120000054318}, "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.0001725309999756064}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016669589999764867, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 109, in test_reading_network_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032218899997360495}, "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.00017195999998875777}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020557510000003276, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 194, in test_reading_station_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032573600000773695}, "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.00018858100000329614}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.00384830400000169, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 397, in test_reading_channel_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00034775700001432597}, "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.00019330999998601328}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0013334790000101293, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 467, in test_reading_unicode_file\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00042761500000665364}, "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.00017486499999108673}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0014969230000190237, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 557, in test_reading_channel_without_response_info\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00032721799999535506}, "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.00020128400001340196}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002462447999988626, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 619, in test_parsing_faulty_header_at_channel_level\n    inv_obs_good = obspy.read_inventory(good_file)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003302540000049703}, "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.00018474399999490743}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011786409999956504, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 648, in test_parsing_files_with_no_endtime\n    inv_obs_a = obspy.read_inventory(file_a)\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003366260000063903}, "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.00017612700000313453}}, {"call": {"outcome": "passed", "duration": 0.014191943000014362}, "setup": {"outcome": "passed", "duration": 0.00030204199998706827}, "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.0001804050000089319}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007730779999803872, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationtxt/tests/test_station_text_parsing.py\", line 846, in test_read_write_stationtxt\n    inv_obs = obspy.read_inventory(filename)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00033973099999684564}, "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.0002519689999758157}}, {"call": {"outcome": "passed", "duration": 0.0012609640000107447}, "setup": {"outcome": "passed", "duration": 0.0017357760000038525}, "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.0001965859999870645}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007833260000040809, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 94, in test_different_write_levels\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003537569999991774}, "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.00018897100000003775}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000714848999990636, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 139, in test_read_and_write_minimal_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003583959999957642}, "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.0001881800000091971}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007417890000169791, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 168, in test_subsecond_read_and_write_minimal_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0005582679999918128}, "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.0001880390000223997}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008915970000202833, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 191, in test_read_and_write_full_file\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003790949999995519}, "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.00018594600001620165}}, {"call": {"outcome": "passed", "duration": 0.004697932999988552}, "setup": {"outcome": "passed", "duration": 0.0003233710000074552}, "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.00017869299998096722}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007438130000139154, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 319, in test_reading_other_module_tags\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038292100001058316}, "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.00017504599998119375}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000884262999989005, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 329, in test_reading_and_writing_full_root_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003741060000095331}, "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.00018700800001170137}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008733939999956419, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 357, in test_reading_and_writing_full_network_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036008899999728783}, "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.00018626600001425686}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010952970000062123, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 437, in test_reading_and_writing_full_station_tag\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035900700001434416}, "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.00018576499999767293}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008369060000177342, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 647, in test_reading_and_writing_channel_with_response\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003763299999945957}, "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.00018282999999996719}}, {"call": {"outcome": "passed", "duration": 0.005646576999993158}, "setup": {"outcome": "passed", "duration": 0.000533181999998078}, "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.00018210900000781294}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007494029999861596, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 735, in test_parse_file_with_no_default_namespace\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038991499999951884}, "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.00018401200000539575}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007487310000158232, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 748, in test_parse_file_with_schema_2\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003775620000112667}, "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.00018669700000373268}}, {"call": {"outcome": "passed", "duration": 0.06384132100001239}, "setup": {"outcome": "passed", "duration": 0.00034114400000362366}, "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.00022608000000445827}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009052830000086942, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 797, in test_write_with_extra_tags_namespace_redef\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004238779999923281}, "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.00017728900002111914}}, {"call": {"outcome": "passed", "duration": 0.09428196999999727}, "setup": {"outcome": "passed", "duration": 0.0003394309999862344}, "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.0002420900000004167}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001019255000016983, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 922, in test_write_with_extra_tags_and_read\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00041812699998899916}, "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.00017764000000397573}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007527399999958106, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1091, in test_reading_file_with_empty_channel_object\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036001899999860143}, "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.0001810069999805819}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007558140000014646, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1104, in test_reading_channel_without_coordinates\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035236499999768967}, "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.00018383200000471334}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.06514770900000144, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/stationxml/tests/test_stationxml.py\", line 1142, in test_units_during_identity_stage\n    inv_2 = obspy.read_inventory(buf)\n            ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 734, in _generic_reader\n    generic = callback_func(pathname_or_url, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 143, in uncompress_file\n    return func(filename, *args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003197849999878599}, "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.00023014799998577473}}, {"call": {"outcome": "passed", "duration": 0.04510211499999173}, "setup": {"outcome": "passed", "duration": 0.00042136400000458707}, "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.00023286300000791016}}, {"call": {"outcome": "passed", "duration": 0.00914167400000565}, "setup": {"outcome": "passed", "duration": 0.0004127269999969485}, "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.00017768000000728534}}, {"call": {"outcome": "passed", "duration": 0.00214374499998371}, "setup": {"outcome": "passed", "duration": 0.0003632060000029469}, "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.00019305899999721987}}, {"call": {"outcome": "passed", "duration": 0.002879152999980761}, "setup": {"outcome": "passed", "duration": 0.0003214279999781411}, "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.00028681300000243937}}, {"call": {"outcome": "failed", "duration": 0.011318259999995917, "longrepr": "013 \n014 Reading\n015 -------\n016 Importing WAV files is done similar to reading any other waveform data\n017 format within ObsPy by using the :func:`~obspy.core.stream.read()` method of\n018 the :mod:`obspy.core` module. Examples seismograms files may be found at\n019 https://examples.obspy.org.\n020 \n021 >>> from obspy import read\n022 >>> st = read(\"/path/to/3cssan.near.8.1.RNON.wav\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.wav[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008234009999910086}, "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.00017554600000835308}}, {"call": {"outcome": "skipped", "duration": 0.00023036900000761307, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0004499570000007225}, "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.00017384299999889663}}, {"call": {"outcome": "failed", "duration": 0.01047524300000191, "longrepr": "075 \n076     :type filename: str\n077     :param filename: Audio WAV file to be read.\n078     :rtype: :class:`~obspy.core.stream.Stream`\n079     :return: A ObsPy Stream object.\n080 \n081     .. rubric:: Example\n082 \n083     >>> from obspy import read\n084     >>> st = read(\"/path/to/3cssan.near.8.1.RNON.wav\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.wav.core._read_wav[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/core.py:84: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00032725799999866467}, "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.00019297900001902235}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008166980000225976, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 30, in test_read_via_obspy\n    tr = read(self.file)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001434326000008923}, "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.0002044599999919683}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007735979999949905, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 43, in test_read_head_via_obspy\n    tr = read(self.file, headonly=True)[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004056950000119741}, "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.00020022199998948054}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0033141609999916, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 67, in test_read_and_write_via_obspy\n    tr3 = read(testfile)[0]\n          ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040274900001691094}, "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.00019593400000417205}}, {"call": {"outcome": "passed", "duration": 0.009309276000010414}, "setup": {"outcome": "passed", "duration": 0.00041949000001295644}, "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.00022523900000237518}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0030979789999889817, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/wav/tests/test_core.py\", line 112, in test_write_stream_via_obspy\n    tr30 = read(testfile0)[0]\n           ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004471210000076553}, "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.0003155169999899954}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008257050000111121, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/win/tests/test_core.py\", line 21, in test_read_via_obspy\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0016258700000264525}, "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.00017428399999630528}}, {"call": {"outcome": "passed", "duration": 0.04602114300001858}, "setup": {"outcome": "passed", "duration": 0.00032665799997744216}, "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.00021941800000035983}}, {"call": {"outcome": "passed", "duration": 0.06275077300000476}, "setup": {"outcome": "passed", "duration": 0.00036539900000320813}, "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.00023732100001438994}}, {"call": {"outcome": "passed", "duration": 0.05189110300000266}, "setup": {"outcome": "passed", "duration": 0.00044158100001823186}, "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.00026011400001380025}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010242840000103115, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/win/tests/test_core.py\", line 89, in test_read_24bit_data\n    st = read(filename)\n         ^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004529520000176035}, "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.0002821740000058526}}, {"call": {"outcome": "passed", "duration": 0.0207089069999995}, "setup": {"outcome": "passed", "duration": 0.001105494999990242}, "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.00019747800001823634}}, {"call": {"outcome": "passed", "duration": 0.011026959000020042}, "setup": {"outcome": "passed", "duration": 0.00046887199999900986}, "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.00019478200002254198}}, {"call": {"outcome": "passed", "duration": 0.0005364169999779733}, "setup": {"outcome": "passed", "duration": 0.0008651379999946585}, "lineno": 19, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_invalid_blockette_length", "outcome": "passed", "keywords": ["test_invalid_blockette_length", "filterwarnings", "TestBlockette", "test_blockettes.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016713099998355574}}, {"call": {"outcome": "passed", "duration": 0.03106410799998116}, "setup": {"outcome": "passed", "duration": 0.00047815899998226996}, "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.00021672299999409006}}, {"call": {"outcome": "passed", "duration": 0.0032538390000240724}, "setup": {"outcome": "passed", "duration": 0.0004193089999944277}, "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.00019474199999081065}}, {"call": {"outcome": "passed", "duration": 0.0002619569999922078}, "setup": {"outcome": "passed", "duration": 0.0003142940000202543}, "lineno": 241, "nodeid": "io/xseed/tests/test_blockettes.py::TestBlockette::test_blockette60_has_blockette_id", "outcome": "passed", "keywords": ["test_blockette60_has_blockette_id", "filterwarnings", "TestBlockette", "test_blockettes.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016035799998803668}}, {"call": {"outcome": "passed", "duration": 0.0018382980000239968}, "setup": {"outcome": "passed", "duration": 0.0003134730000056152}, "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.00017212000000199623}}, {"call": {"outcome": "passed", "duration": 0.00029503800001862146}, "setup": {"outcome": "passed", "duration": 0.00031610700000328507}, "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.00022081000000184758}}, {"call": {"outcome": "passed", "duration": 0.0007103810000046451}, "setup": {"outcome": "passed", "duration": 0.0014421010000091883}, "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.00018140800000310264}}, {"call": {"outcome": "passed", "duration": 0.0021503080000115915}, "setup": {"outcome": "passed", "duration": 0.0006361929999911808}, "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.00018713800000114134}}, {"call": {"outcome": "passed", "duration": 0.001588521999991599}, "setup": {"outcome": "passed", "duration": 0.0006325159999960306}, "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.00017910299999357449}}, {"call": {"outcome": "passed", "duration": 0.128015419999997}, "setup": {"outcome": "passed", "duration": 0.0006300809999970625}, "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.00026401100001294253}}, {"call": {"outcome": "passed", "duration": 1.051324300999994}, "setup": {"outcome": "passed", "duration": 0.0007499539999855642}, "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.00025920199999518445}}, {"call": {"outcome": "passed", "duration": 0.038600759000019025}, "setup": {"outcome": "passed", "duration": 0.0007430520000184515}, "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.00025438299999791525}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011472829999945588, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 147, in test_read_resp_metadata\n    inv = obspy.read_inventory(filename_a)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007330830000000788}, "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.00020779599998377307}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009761739999873953, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 292, in test_read_seed_metainformation\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006300619999990431}, "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.00020498100002441788}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008707890000039242, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 404, in test_response_calculation_from_resp_files\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006436159999907431}, "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.00021386700001357895}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0201629230000151, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 438, in test_response_calculation_from_seed_and_xseed\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006418530000189548}, "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.0002498240000079477}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.005384198999990986, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 515, in test_warning_when_blockette_54_is_not_followed_by_57\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007073849999983395}, "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.0002248280000003433}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.004978865999987647, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 548, in test_warning_when_blockette_57_is_not_followed_by_58\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006773089999967397}, "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.00024524500000211447}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "outcome": "failed", "duration": 0.000843438000003971, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 567, in test_warning_with_multiple_blockettes_58_in_stage_0\n    obspy.read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 566, in test_warning_with_multiple_blockettes_58_in_stage_0\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "setup": {"outcome": "passed", "duration": 0.0009721870000021227}, "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.00021203400001468253}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple different blockettes 58 for stage 0. The last one will be chosen - this is a faulty file - try to fix it!)"}, "outcome": "failed", "duration": 0.0008040449999953125, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 579, in test_warning_with_multiple_differing_blockettes_58_in_stage_0\n    obspy.read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 578, in test_warning_with_multiple_differing_blockettes_58_in_stage_0\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple different blockettes 58 for stage 0. The last one will be chosen - this is a faulty file - try to fix it!)"}, "setup": {"outcome": "passed", "duration": 0.0006672209999862844}, "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.0002065040000047702}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.003060640000001058, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 589, in test_blkts_53_and_54_in_one_stage\n    obspy.read_inventory(filename, skip_invalid_responses=False)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000641733000009026}, "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.00020268700001224715}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0011944800000094347, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 611, in test_reconstructing_stage_0_from_other_blockettes\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006112869999981285}, "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.00020257700001025114}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007571370000221123, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 628, in test_parsing_blockette_62\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000624030000011544}, "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.00021942799997987095}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007362380000017765, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 653, in test_parsing_blockette_62_as_stage_0\n    inv = obspy.read_inventory(filename)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006237290000115081}, "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.0002038289999859444}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 946, "message": "AssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "outcome": "failed", "duration": 0.0007793480000088948, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 670, in test_warning_with_no_blockettes_58\n    obspy.read_inventory(filename)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 669, in test_warning_with_no_blockettes_58\n    with CatchAndAssertWarnings(expected=[(Warning, msg)]):\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 911, in __exit__\n    self._assert_warnings()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 946, in _assert_warnings\n    raise AssertionError(msg % (category.__name__, regex))\nAssertionError: Expected warning not raised: (Warning, Epoch BN.WR0..SHZ \\[1996-03-01T00:00:00.000000Z - 1999-01-03T00:00:00.000000Z\\]: Channel has multiple \\(but identical\\) blockettes 58 for stage 0. Only one will be used.)"}, "setup": {"outcome": "passed", "duration": 0.0006245909999904597}, "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.00019699599999967177}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000836806000023671, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 680, in test_paz_with_no_actual_values\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006376449999834222}, "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.0002045699999939643}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000817208999990271, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 696, in test_response_of_strain_meter\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006104340000092634}, "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.00021962799999641902}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008254640000018298, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 717, in test_response_multiple_gain_blockettes\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006253220000189685}, "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.00020300699998188065}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008243430000050012, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 736, in test_response_regression_1\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0007854600000030132}, "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.00022628099998200923}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002797170000008009, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 758, in test_response_regression_2\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006297599999811609}, "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.00020471999999926993}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008302330000162783, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 781, in test_response_regression_segfault\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006368040000097608}, "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.00019567400002529212}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021701539999980923, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_core.py\", line 799, in test_response_lots_zero_frequency_gains\n    r = obspy.read_inventory(filename)[0][0][0].response\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0006539559999794164}, "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.0004729290000113906}}, {"call": {"outcome": "passed", "duration": 0.000258310000020856}, "setup": {"outcome": "passed", "duration": 0.00046753899999885107}, "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.00016995600000768718}}, {"call": {"outcome": "passed", "duration": 0.0032657810000102927}, "setup": {"outcome": "passed", "duration": 0.0002961399999890091}, "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.0001671109999961118}}, {"call": {"outcome": "passed", "duration": 0.003241285000001426}, "setup": {"outcome": "passed", "duration": 0.0003122810000206755}, "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.00017512499999838838}}, {"call": {"outcome": "passed", "duration": 0.0002675270000054297}, "setup": {"outcome": "passed", "duration": 0.00029225399998722423}, "lineno": 152, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_wrong_spaces", "outcome": "passed", "keywords": ["test_wrong_spaces", "filterwarnings", "TestFields", "test_fields.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016991600000437757}}, {"call": {"outcome": "passed", "duration": 0.0012972709999985454}, "setup": {"outcome": "passed", "duration": 0.0002784579999968173}, "lineno": 161, "nodeid": "io/xseed/tests/test_fields.py::TestFields::test_fixed_string_any_punctuation", "outcome": "passed", "keywords": ["test_fixed_string_any_punctuation", "filterwarnings", "TestFields", "test_fields.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001725009999802296}}, {"call": {"outcome": "passed", "duration": 0.0006048950000092645}, "setup": {"outcome": "passed", "duration": 0.0002876249999985703}, "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.00016677000002118803}}, {"call": {"outcome": "passed", "duration": 0.006105950999995002}, "setup": {"outcome": "passed", "duration": 0.0011770780000119885}, "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.00020701500000086526}}, {"call": {"outcome": "passed", "duration": 0.0003663310000092679}, "setup": {"outcome": "passed", "duration": 0.00041397999999048807}, "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.00017766099998084428}}, {"call": {"outcome": "passed", "duration": 0.0003053869999973813}, "setup": {"outcome": "passed", "duration": 0.0004143499999997857}, "lineno": 63, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_invalid_start_blockette", "outcome": "passed", "keywords": ["test_invalid_start_blockette", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001778010000066388}}, {"call": {"outcome": "passed", "duration": 0.001714878000001363}, "setup": {"outcome": "passed", "duration": 0.00046066699999869343}, "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.000182549000015797}}, {"call": {"outcome": "passed", "duration": 0.007545778000007886}, "setup": {"outcome": "passed", "duration": 0.0004197199999964596}, "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.00020509099999799218}}, {"call": {"outcome": "passed", "duration": 0.007470548000014787}, "setup": {"outcome": "passed", "duration": 0.00040191700000491437}, "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.0001849430000220309}}, {"call": {"outcome": "passed", "duration": 0.0003763590000005479}, "setup": {"outcome": "passed", "duration": 0.00040605499998491723}, "lineno": 141, "nodeid": "io/xseed/tests/test_parser.py::TestParser::test_non_existing_file_name", "outcome": "passed", "keywords": ["test_non_existing_file_name", "filterwarnings", "TestParser", "test_parser.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001760869999998249}}, {"call": {"outcome": "passed", "duration": 0.0018341500000076394}, "setup": {"outcome": "passed", "duration": 0.0004109639999967385}, "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.00018185799999059782}}, {"call": {"outcome": "passed", "duration": 0.00299633000000199}, "setup": {"outcome": "passed", "duration": 0.0005720640000106414}, "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.00018626600001425686}}, {"call": {"outcome": "passed", "duration": 0.0005796869999983301}, "setup": {"outcome": "passed", "duration": 0.0003944440000225313}, "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.00020006299999408839}}, {"call": {"outcome": "passed", "duration": 0.04661404499998412}, "setup": {"outcome": "passed", "duration": 0.0003930910000065069}, "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.00022878499999023916}}, {"call": {"outcome": "passed", "duration": 0.37884676000001605}, "setup": {"outcome": "passed", "duration": 0.0004204920000177026}, "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.0002605840000171611}}, {"call": {"outcome": "passed", "duration": 0.002960634999993772}, "setup": {"outcome": "passed", "duration": 0.0005094679999899654}, "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.000224366999987069}}, {"call": {"outcome": "passed", "duration": 0.08656311199999323}, "setup": {"outcome": "passed", "duration": 0.00042582200001106685}, "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.000276213999995889}}, {"call": {"outcome": "passed", "duration": 0.03817111399999362}, "setup": {"outcome": "passed", "duration": 0.0005252459999951498}, "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.00027499199998715085}}, {"call": {"outcome": "passed", "duration": 0.10635045400002241}, "setup": {"outcome": "passed", "duration": 0.0005250760000024002}, "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.00027654400000187707}}, {"call": {"outcome": "passed", "duration": 0.021574444999998832}, "setup": {"outcome": "passed", "duration": 0.0005098480000071959}, "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.00024566700000150377}}, {"call": {"outcome": "passed", "duration": 0.03413033100000007}, "setup": {"outcome": "passed", "duration": 0.0004988380000270354}, "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.0002703229999951873}}, {"call": {"outcome": "passed", "duration": 0.0313263070000005}, "setup": {"outcome": "passed", "duration": 0.0005331219999789027}, "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.00025778899998840643}}, {"call": {"outcome": "passed", "duration": 0.03137299399998028}, "setup": {"outcome": "passed", "duration": 0.0005385509999769056}, "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.00024970399999801884}}, {"call": {"outcome": "passed", "duration": 0.010735691999997243}, "setup": {"outcome": "passed", "duration": 0.0005067429999883188}, "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.00022987799999896197}}, {"call": {"outcome": "passed", "duration": 0.012061606000003167}, "setup": {"outcome": "passed", "duration": 0.0004850320000002739}, "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.00023416600001269217}}, {"call": {"outcome": "passed", "duration": 0.0014543240000080004}, "setup": {"outcome": "passed", "duration": 0.0004938179999953718}, "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.00020016199999872697}}, {"call": {"outcome": "passed", "duration": 0.0015944250000075044}, "setup": {"outcome": "passed", "duration": 0.0004404299999976047}, "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.00019893000001047767}}, {"call": {"outcome": "passed", "duration": 0.019566109999999526}, "setup": {"outcome": "passed", "duration": 0.0004324539999913668}, "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.0002536709999958475}}, {"call": {"outcome": "passed", "duration": 0.03295469500000081}, "setup": {"outcome": "passed", "duration": 0.0005167099999994207}, "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.0002821449999999004}}, {"call": {"outcome": "passed", "duration": 0.011013818999998648}, "setup": {"outcome": "passed", "duration": 0.0005054789999974219}, "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.0002149789999918994}}, {"call": {"outcome": "passed", "duration": 0.015100488000001633}, "setup": {"outcome": "passed", "duration": 0.00044755199999713113}, "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.0002372010000044611}}, {"call": {"outcome": "passed", "duration": 0.022959359999987328}, "setup": {"outcome": "passed", "duration": 0.0005146870000203307}, "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.00025339100000110193}}, {"call": {"outcome": "passed", "duration": 0.005509124000013799}, "setup": {"outcome": "passed", "duration": 0.0004998590000013792}, "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.0002367110000136563}}, {"call": {"outcome": "passed", "duration": 0.02140259699999092}, "setup": {"outcome": "passed", "duration": 0.00042611299997474816}, "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.00026623499999800515}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000969924000003175, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_parser.py\", line 789, in test_rotation_to_zne\n    st = read(testdata[\"II_COCO_three_channel_borehole.mseed\"])\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00047428099998114703}, "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.0001996409999946991}}, {"call": {"outcome": "passed", "duration": 0.0022153889999856347}, "setup": {"outcome": "passed", "duration": 0.00041721499999880507}, "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.0001848040000140827}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.020408586999991485, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_parser.py\", line 858, in test_parsing_resp_file_without_clear_blkt_separation\n    obs_r = obspy.read_inventory(filename)[0][0][0].response\\\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004189390000135518}, "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.0002474700000050234}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008016300000122101, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/xseed/tests/test_parser.py\", line 868, in test_parsing_resp_file_with_mutiple_blockette55\n    inv_xml = obspy.read_inventory(testdata['issue3275.xml'])\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004642140000044037}, "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.0006064270000081251}}, {"call": {"outcome": "passed", "duration": 0.012153076999993573}, "setup": {"outcome": "passed", "duration": 0.0011889209999935701}, "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.0002651230000196847}}, {"call": {"outcome": "passed", "duration": 0.01196408599997767}, "setup": {"outcome": "passed", "duration": 0.0004997489999993832}, "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.00025006500001723}}, {"call": {"outcome": "passed", "duration": 0.018881077000003188}, "setup": {"outcome": "passed", "duration": 0.0005037069999787036}, "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.00025582500001064545}}, {"call": {"outcome": "passed", "duration": 0.048748701000022265}, "setup": {"outcome": "passed", "duration": 0.0005147079999971993}, "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.0002529200000083165}}, {"call": {"outcome": "passed", "duration": 0.04942987900000162}, "setup": {"outcome": "passed", "duration": 0.0004967840000063006}, "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.00039585599998304133}}, {"call": {"outcome": "passed", "duration": 0.00024429399999803536}, "setup": {"outcome": "passed", "duration": 0.0005008920000193484}, "lineno": 10, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_to_tag", "outcome": "passed", "keywords": ["test_to_tag", "filterwarnings", "TestUtils", "test_utils.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016107900000861264}}, {"call": {"outcome": "passed", "duration": 0.00058612000000835}, "setup": {"outcome": "passed", "duration": 0.00029868600000781953}, "lineno": 14, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_datetime_to_string", "outcome": "passed", "keywords": ["test_datetime_to_string", "filterwarnings", "TestUtils", "test_utils.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018148699999187556}}, {"call": {"outcome": "passed", "duration": 0.0004860740000083297}, "setup": {"outcome": "passed", "duration": 0.0002854610000042612}, "lineno": 32, "nodeid": "io/xseed/tests/test_utils.py::TestUtils::test_datetime_to_string_compact", "outcome": "passed", "keywords": ["test_datetime_to_string_compact", "filterwarnings", "TestUtils", "test_utils.py", "tests", "xseed", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00015970699999456883}}, {"call": {"outcome": "passed", "duration": 0.004107067000006737}, "setup": {"outcome": "passed", "duration": 0.00031986499999447915}, "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.00017526599998518577}}, {"call": {"outcome": "skipped", "duration": 0.00022882499999354877, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0008587670000110847}, "lineno": 104, "nodeid": "io/y/core.py::obspy.io.y.core._is_y", "outcome": "skipped", "keywords": ["obspy.io.y.core._is_y", "filterwarnings", "core.py", "y", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.000166970999998739}}, {"call": {"outcome": "failed", "duration": 0.012499771999983977, "longrepr": "140     :type headonly: bool, optional\n141     :param headonly: If set to True, read only the head. This is most useful\n142         for scanning available data in huge (temporary) data sets.\n143     :rtype: :class:`~obspy.core.stream.Stream`\n144     :return: A ObsPy Stream object.\n145 \n146     .. rubric:: Example\n147 \n148     >>> from obspy import read\n149     >>> st = read(\"/path/to/YAYT_BHZ_20021223.124800\")\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.y.core._read_y[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/y/core.py:149: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004300189999923987}, "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.00024530600001071434}}, {"call": {"outcome": "passed", "duration": 0.0003314869999826442}, "setup": {"outcome": "passed", "duration": 0.0013001579999922797}, "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.00017421399999761888}}, {"call": {"outcome": "passed", "duration": 0.002964160999994192}, "setup": {"outcome": "passed", "duration": 0.0003608209999867995}, "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.00017553700001826655}}, {"call": {"outcome": "passed", "duration": 0.0010025839999912023}, "setup": {"outcome": "passed", "duration": 0.00035984899997743014}, "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.00023645000001693006}}, {"call": {"outcome": "failed", "duration": 0.012125786000012795, "longrepr": "013 \n014 \n015 Usage Example\n016 -------------\n017 \n018 The ZMAP reader and writer hooks into the standard ObsPy event handling\n019 mechanisms including format autodetection.\n020 \n021 >>> from obspy.core.event import read_events\n022 >>> cat = read_events('/path/to/zmap_events.txt')\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.io.zmap[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/__init__.py:22: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008327589999908014}, "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.00023176099998067912}}, {"call": {"outcome": "passed", "duration": 0.010026893999992126}, "setup": {"outcome": "passed", "duration": 0.0007200390000150492}, "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.00018932199998289434}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018402919999971346, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 36, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_serialize", "outcome": "error", "keywords": ["test_serialize", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001988690000018778}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009107639999967887, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 58, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_plugin_interface", "outcome": "error", "keywords": ["test_plugin_interface", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001935599999853821}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008733040000095116, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 68, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_to_file", "outcome": "error", "keywords": ["test_dump_to_file", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019510299998160008}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008691159999898446, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 78, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_to_filename", "outcome": "error", "keywords": ["test_dump_to_filename", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001887109999927361}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008608310000113306, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 88, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_dump_with_uncertainty", "outcome": "error", "keywords": ["test_dump_with_uncertainty", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018882099999473212}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008554599999968104, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 99, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_ou_hz_error", "outcome": "error", "keywords": ["test_ou_hz_error", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020805700000892102}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010169709999843235, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 119, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_lat_lon_hz_error", "outcome": "error", "keywords": ["test_lat_lon_hz_error", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002191279999976814}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008612110000001394, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 133, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_is_zmap", "outcome": "error", "keywords": ["test_is_zmap", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020223599997848396}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008537970000190853, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 174, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_is_zmap_binary_files", "outcome": "error", "keywords": ["test_is_zmap_binary_files", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019911000001116008}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008562029999836795, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 183, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_deserialize", "outcome": "error", "keywords": ["test_deserialize", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002048510000065562}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008816589999867119, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 211, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_read", "outcome": "error", "keywords": ["test_read", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002008430000159933}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008521839999957592, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 228, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_read_float_seconds", "outcome": "error", "keywords": ["test_read_float_seconds", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00022122099997545774}}, {"setup": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008632150000096317, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 843, in pytest_runtest_setup\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 895, in pytest_runtest_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 165, in pytest_runtest_setup\n    item.session._setupstate.setup(item)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 523, in setup\n    col.setup()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1723, in setup\n    self._request._fillfixtures()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 707, in _fillfixtures\n    item.funcargs[argname] = self.getfixturevalue(argname)\n                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 539, in getfixturevalue\n    fixturedef = self._get_active_fixturedef(argname)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 627, in _get_active_fixturedef\n    fixturedef.execute(request=subrequest)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1110, in execute\n    result: FixtureValue = ihook.pytest_fixture_setup(\n                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/setuponly.py\", line 36, in pytest_fixture_setup\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 1202, in pytest_fixture_setup\n    result = call_fixture_func(fixturefunc, request, kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/fixtures.py\", line 915, in call_fixture_func\n    fixture_result = fixturefunc(**kwargs)\n                     ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/io/zmap/tests/test_zmap.py\", line 33, in setup\n    self.catalog = read_events(path_to_catalog)\n                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 828, in read_events\n    return _generic_reader(pathname_or_url, _read, format=format, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/event/catalog.py\", line 836, in _read\n    catalog, format = _read_from_plugin('event', filename, format=format,\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "lineno": 306, "nodeid": "io/zmap/tests/test_zmap.py::TestZMAP::test_no_origin_depth", "outcome": "error", "keywords": ["test_no_origin_depth", "filterwarnings", "TestZMAP", "test_zmap.py", "tests", "zmap", "io", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0004081190000135848}}, {"call": {"outcome": "failed", "duration": 0.012296042000002672, "longrepr": "058     RtTrace object (step 3) which will automatically process any appended data\n059     chunks.\n060 \n061     1. Read first trace of example SAC data file and extract contained time\n062        offset and epicentral distance of an earthquake::\n063 \n064         >>> from obspy.realtime import RtTrace\n065         >>> from obspy import read\n066         >>> from obspy.realtime.signal import calculate_mwp_mag\n067         >>> data_trace = read(\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.realtime.rttrace.RtTrace[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/realtime/rttrace.py:67: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.000862573999995675}, "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.00019769799999380666}}, {"call": {"outcome": "passed", "duration": 0.0005967600000076345}, "setup": {"outcome": "passed", "duration": 0.0007946579999895675}, "lineno": 18, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_eq", "outcome": "passed", "keywords": ["test_eq", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019341000000849817}}, {"call": {"outcome": "passed", "duration": 0.0004900920000068254}, "setup": {"outcome": "passed", "duration": 0.000285601000001634}, "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.00016648900000859612}}, {"call": {"outcome": "passed", "duration": 0.000535255999977835}, "setup": {"outcome": "passed", "duration": 0.00028547000002276945}, "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.00016934499998910724}}, {"call": {"outcome": "passed", "duration": 0.0009448669999869708}, "setup": {"outcome": "passed", "duration": 0.0002814529999852766}, "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.0001710180000031869}}, {"call": {"outcome": "passed", "duration": 0.0005986829999926613}, "setup": {"outcome": "passed", "duration": 0.000297963999997819}, "lineno": 125, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_overlap", "outcome": "passed", "keywords": ["test_append_overlap", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001881400000058875}}, {"call": {"outcome": "passed", "duration": 0.0006676020000213612}, "setup": {"outcome": "passed", "duration": 0.0002790080000067974}, "lineno": 141, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_append_gap", "outcome": "passed", "keywords": ["test_append_gap", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016675000000532236}}, {"call": {"outcome": "passed", "duration": 0.0007629479999877731}, "setup": {"outcome": "passed", "duration": 0.00028349699999807854}, "lineno": 159, "nodeid": "realtime/tests/test_rttrace.py::TestRtTrace::test_copy", "outcome": "passed", "keywords": ["test_copy", "filterwarnings", "TestRtTrace", "test_rttrace.py", "tests", "realtime", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001713679999966189}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021974759999920934, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/realtime/tests/test_rttrace.py\", line 181, in test_append_not_float32\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002825760000177979}, "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.00017412399998306682}}, {"call": {"outcome": "passed", "duration": 0.002103782000006049}, "setup": {"outcome": "passed", "duration": 0.00030995699998470627}, "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.00017669900000782945}}, {"call": {"outcome": "passed", "duration": 0.010769605000007232}, "setup": {"outcome": "passed", "duration": 0.00583543000001896}, "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.0002578190000122049}}, {"call": {"outcome": "passed", "duration": 0.013939157999999452}, "setup": {"outcome": "passed", "duration": 0.005313008000001673}, "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.000268648999991683}}, {"call": {"outcome": "passed", "duration": 0.013624271999987059}, "setup": {"outcome": "passed", "duration": 0.0052454030000035345}, "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.0002663649999874451}}, {"call": {"outcome": "passed", "duration": 0.03176045399999339}, "setup": {"outcome": "passed", "duration": 0.0050573640000095565}, "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.0003031030000215651}}, {"call": {"outcome": "passed", "duration": 0.002369585999986157}, "setup": {"outcome": "passed", "duration": 0.00535966499998608}, "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.00024200999999379746}}, {"call": {"outcome": "passed", "duration": 0.002480853000008665}, "setup": {"outcome": "passed", "duration": 0.005020184000017025}, "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.00021985800000834388}}, {"call": {"outcome": "passed", "duration": 0.04795326300001079}, "setup": {"outcome": "passed", "duration": 0.004937180000013086}, "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.0003053270000066277}}, {"call": {"outcome": "passed", "duration": 0.010825248000003285}, "setup": {"outcome": "passed", "duration": 0.005476713000007294}, "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.00029626199997778713}}, {"call": {"outcome": "passed", "duration": 0.05182665500001349}, "setup": {"outcome": "passed", "duration": 0.0055614910000088}, "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.0003202659999885782}}, {"call": {"outcome": "passed", "duration": 0.008020603000005622}, "setup": {"outcome": "passed", "duration": 0.005479297000022143}, "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.000268778999981123}}, {"call": {"outcome": "passed", "duration": 0.020716058999994402}, "setup": {"outcome": "passed", "duration": 0.005434775999987096}, "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.00032067699999061006}}, {"call": {"outcome": "passed", "duration": 0.027018687999998292}, "setup": {"outcome": "passed", "duration": 0.005516656999986935}, "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.0005243149999785146}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0018649279999749524, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/tests/test_print.py\", line 18, in test_print\n    obspy_print(all_files)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/print.py\", line 31, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0015042070000106378}, "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.0002292559999830246}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0016724799999963125, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/tests/test_print.py\", line 27, in test_print_nomerge\n    obspy_print(['--no-merge'] + all_files)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/scripts/print.py\", line 31, in main\n    st += read(f, format=args.format)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00038112799998657465}, "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.0002567980000094394}}, {"call": {"outcome": "failed", "duration": 0.0069415269999808515, "longrepr": "031     :class:`numpy.ndarray`) and therefore the ``sampling_rate`` needs to be\n032     also specified. It returns the filtered data.  For\n033     :class:`~obspy.core.stream.Stream` and :class:`~obspy.core.trace.Trace`\n034     objects simply use their respective filtering methods\n035     :meth:`Stream.filter() <obspy.core.stream.Stream.filter>` and\n036     :meth:`Trace.filter() <obspy.core.trace.Trace.filter>`.\n037 \n038 >>> from obspy import read\n039 >>> import obspy.signal\n040 >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/__init__.py:40: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0008920690000024933}, "lineno": 1, "nodeid": "signal/__init__.py::obspy.signal", "outcome": "failed", "keywords": ["obspy.signal", "filterwarnings", "__init__.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00021584099999927275}}, {"call": {"outcome": "failed", "duration": 0.0062629349999951955, "longrepr": "123             bbbbbbbb\n124 \n125         For odd ``len(a)-len(b)`` the cross-correlation function will\n126         consist of only ``2*shift`` samples because a shift of 0\n127         corresponds to the middle between two samples.\n128 \n129     .. rubric:: Example\n130 \n131     >>> from obspy import read\n132     >>> a = read()[0][450:550]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:132: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00047970200000690966}, "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.00020250699998314303}}, {"call": {"outcome": "failed", "duration": 0.006043697999984943, "longrepr": "823 \n824         Use :func:`~obspy.signal.cross_correlation.correlation_detector`\n825         for detecting events based on their similarity.\n826         The returned stream of cross-correlations is suitable for\n827         use with :func:`~obspy.signal.trigger.coincidence_trigger`, though.\n828 \n829     .. rubric:: Example\n830 \n831     >>> from obspy import read, UTCDateTime\n832     >>> data = read().filter('highpass', freq=5)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate_stream_template[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:832: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00037303399997767883}, "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.00020683400001075825}}, {"call": {"outcome": "failed", "duration": 0.007183957999984614, "longrepr": "223     .. note::\n224         Calling the function with ``demean=True, normalize='full'`` (default)\n225         returns the zero-normalized cross-correlation function.\n226         Calling the function with ``demean=False, normalize='full'``\n227         returns the normalized cross-correlation function.\n228 \n229     .. rubric:: Example\n230 \n231     >>> from obspy import read\n232     >>> data = read()[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlate_template[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:232: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003469960000188621}, "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.00019544299999552095}}, {"call": {"outcome": "failed", "duration": 0.0059657829999935075, "longrepr": "1038         time, similarity, template_id,\n1039         amplitude_ratio, magnitude (if template_magnitudes is provided),\n1040         template_name (if template_names is provided),\n1041         cross-correlation values, properties returned by find_peaks\n1042         (if details are requested)\n1043 \n1044     .. rubric:: Example\n1045 \n1046     >>> from obspy import read, UTCDateTime\n1047     >>> data = read().filter('highpass', freq=5)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.correlation_detector[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:1047: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0003464940000128536}, "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.0002328129999966677}}, {"call": {"outcome": "failed", "duration": 0.005990268000005017, "longrepr": "638     - computes cross correlation on each component (one stream serves as\n639       template, one as a longer search stream)\n640     - stack all three and determine best shift in stack\n641     - normalization is a bit problematic so compute the correlation coefficient\n642       afterwards for the best shift to make sure the result is between 0 and 1.\n643 \n644     >>> from obspy import read, UTCDateTime\n645     >>> import numpy as np\n646     >>> np.random.seed(123)  # make test reproducible\n647     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.cross_correlation.templates_max_similarity[3]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/cross_correlation.py:647: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033713700000248537}, "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.00018576499999767293}}, {"call": {"outcome": "passed", "duration": 0.0032647399999916615}, "setup": {"outcome": "passed", "duration": 0.0003574739999976373}, "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.00020349900000837806}}, {"call": {"outcome": "failed", "duration": 0.006660975000016833, "longrepr": "076 \n077 \n078     .. rubric:: Example\n079 \n080     >>> import obspy\n081     >>> from obspy.signal.detrend import polynomial\n082 \n083     Prepare some example data.\n084 \n085     >>> tr = obspy.read()[0].filter(\"highpass\", freq=2)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.detrend.polynomial[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/detrend.py:85: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.0004974359999891931}, "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.00020302799998717092}}, {"call": {"outcome": "failed", "duration": 0.006013622000011765, "longrepr": "139 \n140 \n141     .. rubric:: Example\n142 \n143     >>> import obspy\n144     >>> from obspy.signal.detrend import spline\n145 \n146     Prepare some example data.\n147 \n148     >>> tr = obspy.read()[0].filter(\"highpass\", freq=2)\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.detrend.spline[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/detrend.py:148: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00034466099998553545}, "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.00020705500000417487}}, {"call": {"outcome": "passed", "duration": 0.0033460020000006807}, "setup": {"outcome": "passed", "duration": 0.0004897400000061225}, "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.00018725800001107018}}, {"call": {"outcome": "passed", "duration": 0.003080438000012009}, "setup": {"outcome": "passed", "duration": 0.00033379000001332315}, "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.0001865970000096695}}, {"call": {"outcome": "passed", "duration": 0.00284906699999965}, "setup": {"outcome": "passed", "duration": 0.00034726600000567487}, "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.00018748900001241964}}, {"call": {"outcome": "skipped", "duration": 0.00022343499998100924, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/doctest.py', 458, 'Skipped: all tests skipped by +SKIP option')"}, "setup": {"outcome": "passed", "duration": 0.0004482840000150645}, "lineno": 54, "nodeid": "signal/quality_control.py::obspy.signal.quality_control.MSEEDMetadata", "outcome": "skipped", "keywords": ["obspy.signal.quality_control.MSEEDMetadata", "filterwarnings", "quality_control.py", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016655900000728252}}, {"call": {"outcome": "passed", "duration": 0.004444493999983479}, "setup": {"outcome": "passed", "duration": 0.0004251809999971101}, "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.00017476499999702355}}, {"call": {"outcome": "failed", "duration": 0.006550869999983888, "longrepr": "207 \n208     Calculations are based on the routine used by [McNamara2004]_.\n209     For information on New High/Low Noise Model see [Peterson1993]_.\n210 \n211     .. rubric:: Basic Usage\n212 \n213     >>> from obspy import read\n214     >>> from obspy.signal import PPSD\n215 \n216     >>> st = read()\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.spectral_estimation.PPSD[2]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/spectral_estimation.py:216: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00043559000002346693}, "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.00019995200000266777}}, {"call": {"outcome": "passed", "duration": 0.8886171610000133}, "setup": {"outcome": "passed", "duration": 0.0009701539999866782}, "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.0002465679999943404}}, {"call": {"outcome": "passed", "duration": 0.8867373060000148}, "setup": {"outcome": "passed", "duration": 0.0005001500000219039}, "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.00026522399997475077}}, {"call": {"outcome": "passed", "duration": 0.8900837989999957}, "setup": {"outcome": "passed", "duration": 0.0004965330000175072}, "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.0002786580000133654}}, {"call": {"outcome": "passed", "duration": 0.0005624060000002373}, "setup": {"outcome": "passed", "duration": 0.0004891000000100121}, "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.00020198500001811226}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010395630000061828, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 24, in test_relcal_sts2_vs_unknown\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.001624240000012378}, "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.00018992399998296605}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008363549999899078, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 69, in test_relcal_using_traces\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003454829999895992}, "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.00017832200001066667}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008346410000115156, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 88, in test_relcal_different_overlaps\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00036140200001000267}, "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.0001945109999894612}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008938119999868377, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_calibration.py\", line 115, in test_relcal_using_dict\n    st1 = read(testdata['ref_STS2'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035753500000623717}, "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.0002843180000127177}}, {"call": {"outcome": "passed", "duration": 0.09458350500000279}, "setup": {"outcome": "passed", "duration": 0.005240804999999682}, "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.0002578200000016295}}, {"call": {"outcome": "passed", "duration": 0.2360502829999973}, "setup": {"outcome": "passed", "duration": 0.003640418000003365}, "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.0002562260000047445}}, {"call": {"outcome": "passed", "duration": 0.08645451000001003}, "setup": {"outcome": "passed", "duration": 0.003606395000019802}, "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.0002521089999731885}}, {"call": {"outcome": "passed", "duration": 0.06167500600000153}, "setup": {"outcome": "passed", "duration": 0.003636642000003576}, "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.0003296229999989464}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002347174999982826, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 37, in test_correlate_normalize_true_false\n    a = read()[0].data[500:]\n        ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004585030000043844}, "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.0001753460000202267}}, {"call": {"outcome": "passed", "duration": 0.0008237210000174855}, "setup": {"outcome": "passed", "duration": 0.0003152059999820267}, "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.0001722909999841704}}, {"call": {"outcome": "passed", "duration": 0.0007327820000000429}, "setup": {"outcome": "passed", "duration": 0.0008400520000009237}, "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.0001719699999966906}}, {"call": {"outcome": "passed", "duration": 0.0004190889999904357}, "setup": {"outcome": "passed", "duration": 0.00029760300000702955}, "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.00016759099997898375}}, {"call": {"outcome": "passed", "duration": 0.0018446999999923719}, "setup": {"outcome": "passed", "duration": 0.000497866000017666}, "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.00017929300000218973}}, {"call": {"outcome": "passed", "duration": 0.002313311000023077}, "setup": {"outcome": "passed", "duration": 0.00030632899998295215}, "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.00017834100000868602}}, {"call": {"outcome": "passed", "duration": 0.0018731330000036905}, "setup": {"outcome": "passed", "duration": 0.0002987460000269948}, "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.00017531599999642822}}, {"call": {"outcome": "passed", "duration": 0.0002645019999931719}, "setup": {"outcome": "passed", "duration": 0.0003191039999990153}, "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.00017023700002027908}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022225630000036745, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 187, in test_xcorr_3c\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002831360000072891}, "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.00019325000002368142}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0012626070000010259, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 200, in test_xcorr_pick_correction\n    st1 = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0015873410000040167}, "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.00018692699998723583}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001178731999999627, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 229, in test_xcorr_pick_correction_images\n    st1 = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000506481000002168}, "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.00024135900000032962}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022188760000005914, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 269, in test_correlate_template_eqcorrscan\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029440699998417585}, "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.00018143699998063312}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020006000000023505, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 294, in test_correlate_template_eqcorrscan_time\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002954099999783466}, "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.00018583599998578393}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002028943000027539, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 304, in test_correlate_template_different_normalizations\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00030903500001500106}, "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.00017489499998646352}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022404760000256374, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 320, in test_correlate_template_correct_alignment_of_normalization\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029457799999477174}, "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.00018408200000408215}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001982695999998896, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 332, in test_correlate_template_versus_correlate\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003139640000142663}, "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.00018381099999942307}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002008565000011231, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 341, in test_correlate_template_zeros_in_input\n    data = read()[0].data[380:420]\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0002885870000000068}, "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.0001786120000133451}}, {"call": {"outcome": "passed", "duration": 0.004865647000002582}, "setup": {"outcome": "passed", "duration": 0.0003192529999864746}, "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.00016853299999297633}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0020644390000086332, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 410, in test_correlate_template_nodemean_fastmatchedfilter\n    data = read()[0].data\n           ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003095860000144057}, "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.00020078299999681803}}, {"call": {"outcome": "passed", "duration": 0.0028233889999853545}, "setup": {"outcome": "passed", "duration": 0.0002951890000133517}, "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.00016499699998462347}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002171997999994346, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_cross_correlation.py\", line 441, in test_correlate_stream_template_and_correlation_detector\n    template = read().filter('highpass', freq=5).normalize()\n               ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000288266000012527}, "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.00030769200000690944}}, {"call": {"outcome": "passed", "duration": 0.0011203440000144838}, "setup": {"outcome": "passed", "duration": 0.00041542200000321827}, "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.0001635639999904015}}, {"call": {"outcome": "passed", "duration": 0.0009718160000034004}, "setup": {"outcome": "passed", "duration": 0.0003038549999985207}, "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.00016091899999537418}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002017221000016889, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_detrend.py\", line 56, in test_polynomial_detrend_plotting\n    tr = obspy.read()[0].filter(\"highpass\", freq=2)\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045755099998245896}, "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.0002253490000043712}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0023483770000041204, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_detrend.py\", line 65, in test_spline_detrend_plotting\n    tr = obspy.read()[0].filter(\"highpass\", freq=2)\n         ^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004177569999797015}, "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.00021720400002323004}}, {"call": {"outcome": "passed", "duration": 0.0008748869999806175}, "setup": {"outcome": "passed", "duration": 0.00041812700001742087}, "lineno": 16, "nodeid": "signal/tests/test_differentiate_and_integrate.py::TestIntegrate::test_cumtrapz_integration", "outcome": "passed", "keywords": ["test_cumtrapz_integration", "filterwarnings", "TestIntegrate", "test_differentiate_and_integrate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001659190000111721}}, {"call": {"outcome": "passed", "duration": 0.0035140429999955813}, "setup": {"outcome": "passed", "duration": 0.000324303000013515}, "lineno": 37, "nodeid": "signal/tests/test_differentiate_and_integrate.py::TestIntegrate::test_spline_integration", "outcome": "passed", "keywords": ["test_spline_integration", "filterwarnings", "TestIntegrate", "test_differentiate_and_integrate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001914160000069387}}, {"call": {"outcome": "passed", "duration": 0.0058183190000136165}, "setup": {"outcome": "passed", "duration": 0.0015247649999992063}, "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.00016981599998189267}}, {"call": {"outcome": "passed", "duration": 0.005188256999986152}, "setup": {"outcome": "passed", "duration": 0.00033871000002250184}, "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.00018584500000429216}}, {"call": {"outcome": "passed", "duration": 0.0050220779999961}, "setup": {"outcome": "passed", "duration": 0.0003344719999915924}, "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.00018289999999865358}}, {"call": {"outcome": "passed", "duration": 0.004760090999980093}, "setup": {"outcome": "passed", "duration": 0.00036101099999541475}, "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.00017841199999679702}}, {"call": {"outcome": "passed", "duration": 0.005020696000002545}, "setup": {"outcome": "passed", "duration": 0.0003574449999916851}, "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.00017595799999980954}}, {"call": {"outcome": "passed", "duration": 0.004829739999991034}, "setup": {"outcome": "passed", "duration": 0.0005646390000038082}, "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.00017848199999548342}}, {"call": {"outcome": "passed", "duration": 0.004288664000000608}, "setup": {"outcome": "passed", "duration": 0.00034212600002092586}, "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.00017525699999509925}}, {"call": {"outcome": "passed", "duration": 0.00275983200000951}, "setup": {"outcome": "passed", "duration": 0.0003109580000000278}, "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.00017830200002322272}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0022903790000157187, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_filter.py\", line 234, in test_bandpass_high_corner_at_nyquist\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.000313412000025437}, "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.00017853199997830416}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002265042000004769, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_filter.py\", line 275, in test_filterarr2d_axis_and_zerophase\n    stream = read()\n             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00029873500000121567}, "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.00030973500000186505}}, {"call": {"outcome": "passed", "duration": 0.024047042000006513}, "setup": {"outcome": "passed", "duration": 0.005575477000007822}, "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.00024741999999378095}}, {"call": {"outcome": "passed", "duration": 0.0004260520000229917}, "setup": {"outcome": "passed", "duration": 0.005865285999988146}, "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.00019915999999398082}}, {"call": {"outcome": "passed", "duration": 0.008094790999990664}, "setup": {"outcome": "passed", "duration": 0.004333728000005976}, "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.0002016450000041914}}, {"call": {"outcome": "passed", "duration": 0.01204310199997849}, "setup": {"outcome": "passed", "duration": 0.004331995000001143}, "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.0002514770000061617}}, {"call": {"outcome": "passed", "duration": 0.002115954999993619}, "setup": {"outcome": "passed", "duration": 0.0046855519999837725}, "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.00022388599998635073}}, {"call": {"outcome": "passed", "duration": 0.003037027000004855}, "setup": {"outcome": "passed", "duration": 0.004165995999983352}, "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.0003210870000032173}}, {"call": {"outcome": "passed", "duration": 0.0010586279999813542}, "setup": {"outcome": "passed", "duration": 0.004522449000006645}, "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.00025966299998003706}}, {"call": {"outcome": "passed", "duration": 0.0015158889999895564}, "setup": {"outcome": "passed", "duration": 0.00041509199999723023}, "lineno": 17, "nodeid": "signal/tests/test_interpolation.py::TestInterpolation::test_calculate_lanczos_kernel", "outcome": "passed", "keywords": ["test_calculate_lanczos_kernel", "filterwarnings", "TestInterpolation", "test_interpolation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001659180000217475}}, {"call": {"outcome": "passed", "duration": 0.0005461260000174661}, "setup": {"outcome": "passed", "duration": 0.0002898890000153642}, "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.00016250299998432638}}, {"call": {"outcome": "passed", "duration": 0.002109653000019307}, "setup": {"outcome": "passed", "duration": 0.0002808520000030512}, "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.00016348400001220398}}, {"call": {"outcome": "passed", "duration": 1.3120059949999927}, "setup": {"outcome": "passed", "duration": 0.0004490439999926821}, "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.000324523000017507}}, {"call": {"outcome": "passed", "duration": 0.015987405999993598}, "setup": {"outcome": "passed", "duration": 0.001957109000016999}, "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.00019187700002021302}}, {"call": {"outcome": "passed", "duration": 0.08728402200000573}, "setup": {"outcome": "passed", "duration": 0.00038132900002096903}, "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.00022803400000270813}}, {"call": {"outcome": "passed", "duration": 0.04146419699998205}, "setup": {"outcome": "passed", "duration": 0.0004325149999999667}, "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.0002266509999913069}}, {"call": {"outcome": "passed", "duration": 0.2108231969999963}, "setup": {"outcome": "passed", "duration": 0.0004181479999942894}, "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.00023188199998003256}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0010242740000023787, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_invsim.py\", line 277, in test_evalresp_vs_obspy\n    tr = read(rawf)[0]\n         ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00040050499998756095}, "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.00018815999999333144}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0007856999999944492, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_invsim.py\", line 305, in test_cosine_taper\n    tr = read(sac_taper)[0]\n         ^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003547999999966578}, "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.00018560499998443447}}, {"call": {"outcome": "passed", "duration": 0.00825112200001854}, "setup": {"outcome": "passed", "duration": 0.00034754600000042046}, "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.00019689600000560858}}, {"call": {"outcome": "passed", "duration": 0.05780648399999677}, "setup": {"outcome": "passed", "duration": 0.00032692799999267663}, "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.00022752300000661307}}, {"call": {"outcome": "passed", "duration": 0.0026053139999930863}, "setup": {"outcome": "passed", "duration": 0.00041248700000551253}, "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.00017693899999926543}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.000938845999996829, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_invsim.py\", line 406, in test_evalresp_file_like_object\n    tr1 = read(rawf)[0]\n          ^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003413050000062867}, "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.00018751800001837182}}, {"call": {"outcome": "passed", "duration": 0.004484437999991542}, "setup": {"outcome": "passed", "duration": 0.00033414099999617974}, "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.00017892199997504576}}, {"call": {"outcome": "passed", "duration": 0.0068096410000180185}, "setup": {"outcome": "passed", "duration": 0.0003592980000064472}, "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.00016745199999945726}}, {"call": {"outcome": "passed", "duration": 0.00046352199998977994}, "setup": {"outcome": "passed", "duration": 0.0003264970000032008}, "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.00024085699999432109}}, {"call": {"outcome": "passed", "duration": 0.0007825240000158828}, "setup": {"outcome": "passed", "duration": 0.0005812910000031479}, "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.0001628619999962666}}, {"call": {"outcome": "passed", "duration": 0.0015886129999955756}, "setup": {"outcome": "passed", "duration": 0.00031641799998283204}, "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.00016544700000054036}}, {"call": {"outcome": "passed", "duration": 0.03655949699998473}, "setup": {"outcome": "passed", "duration": 0.00032229999999344727}, "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.0002993159999959971}}, {"call": {"outcome": "passed", "duration": 0.12609600799999043}, "setup": {"outcome": "passed", "duration": 0.007510365000001684}, "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.00025677799999357376}}, {"call": {"outcome": "passed", "duration": 0.0015209080000033737}, "setup": {"outcome": "passed", "duration": 0.006029601000022922}, "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.000203338000005715}}, {"call": {"outcome": "passed", "duration": 0.08248448799997732}, "setup": {"outcome": "passed", "duration": 0.005658660999984022}, "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.0002517279999949551}}, {"call": {"outcome": "passed", "duration": 0.02374045100000899}, "setup": {"outcome": "passed", "duration": 0.0060226089999844135}, "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.0002347459999896273}}, {"call": {"outcome": "passed", "duration": 1.126930582}, "setup": {"outcome": "passed", "duration": 0.006030181999989281}, "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.00043942700000343393}}, {"call": {"outcome": "passed", "duration": 0.0020528770000112218}, "setup": {"outcome": "passed", "duration": 0.0005161100000066199}, "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.00019125600002212195}}, {"call": {"outcome": "passed", "duration": 0.05954844200002185}, "setup": {"outcome": "passed", "duration": 0.00031089800000927426}, "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.0002630090000081964}}, {"call": {"outcome": "passed", "duration": 0.009870934000019815}, "setup": {"outcome": "passed", "duration": 0.0003763300000230174}, "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.00020359799998459494}}, {"call": {"outcome": "passed", "duration": 0.012300500999998576}, "setup": {"outcome": "passed", "duration": 0.0003424170000130289}, "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.0002143490000037218}}, {"call": {"outcome": "passed", "duration": 0.00761338600000272}, "setup": {"outcome": "passed", "duration": 0.000377211999989413}, "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.0001995709999960127}}, {"call": {"outcome": "passed", "duration": 0.014521881999996822}, "setup": {"outcome": "passed", "duration": 0.0003412240000102429}, "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.00024060799998437687}}, {"call": {"outcome": "passed", "duration": 0.02407870100000764}, "setup": {"outcome": "passed", "duration": 0.00038914400002454386}, "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.0002432519999899796}}, {"call": {"outcome": "passed", "duration": 0.04138481000001093}, "setup": {"outcome": "passed", "duration": 0.00036255399999163274}, "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.00029866599999195387}}, {"call": {"outcome": "passed", "duration": 0.05595615199999315}, "setup": {"outcome": "passed", "duration": 0.001746658000001844}, "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.00027281699999548437}}, {"call": {"outcome": "passed", "duration": 0.020198545999988937}, "setup": {"outcome": "passed", "duration": 0.0004021469999884175}, "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.00022708200000920442}}, {"call": {"outcome": "passed", "duration": 0.008600963000020556}, "setup": {"outcome": "passed", "duration": 0.0003483680000044842}, "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.0002140580000116188}}, {"call": {"outcome": "passed", "duration": 0.008153130000010833}, "setup": {"outcome": "passed", "duration": 0.0003450620000080562}, "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.00018995299998891824}}, {"call": {"outcome": "passed", "duration": 0.08357778100000246}, "setup": {"outcome": "passed", "duration": 0.00034986000000003514}, "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.00025079599998889535}}, {"call": {"outcome": "passed", "duration": 0.13313603899999293}, "setup": {"outcome": "passed", "duration": 0.00038836200002378973}, "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.0002731079999875874}}, {"call": {"outcome": "passed", "duration": 0.01824043599998504}, "setup": {"outcome": "passed", "duration": 0.0004578720000267822}, "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.00027087400002301365}}, {"call": {"outcome": "passed", "duration": 0.006098029000014549}, "setup": {"outcome": "passed", "duration": 0.00040736699997978576}, "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.00020339799999646857}}, {"call": {"outcome": "passed", "duration": 0.011889327000005778}, "setup": {"outcome": "passed", "duration": 0.0003737550000266765}, "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.0002414589999943928}}, {"call": {"outcome": "passed", "duration": 0.011336709000005385}, "setup": {"outcome": "passed", "duration": 0.00038316199999144374}, "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.00021859699998572069}}, {"call": {"outcome": "passed", "duration": 0.024517356000018253}, "setup": {"outcome": "passed", "duration": 0.00039853100000186714}, "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.0002643109999951321}}, {"call": {"outcome": "passed", "duration": 0.014677650999999514}, "setup": {"outcome": "passed", "duration": 0.00037483700000962017}, "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.00020828699999242417}}, {"call": {"outcome": "passed", "duration": 0.019505849000012176}, "setup": {"outcome": "passed", "duration": 0.00036671200001592297}, "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.00023876400001654474}}, {"call": {"outcome": "passed", "duration": 0.007313116999995373}, "setup": {"outcome": "passed", "duration": 0.0003963369999837596}, "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.00024231999998391984}}, {"setup": {"outcome": "skipped", "duration": 0.0002015139999969051, "longrepr": "('/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_quality_control.py', 847, 'Skipped: Test requires the jsonschema module')"}, "lineno": 846, "nodeid": "signal/tests/test_quality_control.py::TestQualityControl::test_schema_validation", "outcome": "skipped", "keywords": ["test_schema_validation", "skipif", "pytestmark", "filterwarnings", "TestQualityControl", "test_quality_control.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0003044160000058582}}, {"call": {"outcome": "passed", "duration": 0.001291180999999142}, "setup": {"outcome": "passed", "duration": 0.000583234999993465}, "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.00018998400000214133}}, {"call": {"outcome": "passed", "duration": 0.000946599999991804}, "setup": {"outcome": "passed", "duration": 0.00048005200000034165}, "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.0001847640000107731}}, {"call": {"outcome": "passed", "duration": 0.0008948539999948935}, "setup": {"outcome": "passed", "duration": 0.0004257420000044476}, "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.00020120500002462904}}, {"call": {"outcome": "passed", "duration": 0.0007969019999904958}, "setup": {"outcome": "passed", "duration": 0.0004218939999987015}, "lineno": 56, "nodeid": "signal/tests/test_regression.py::TestRegression::test_noweight_nointercept", "outcome": "passed", "keywords": ["test_noweight_nointercept", "filterwarnings", "TestRegression", "test_regression.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018566599999303435}}, {"call": {"outcome": "passed", "duration": 0.018895822999979828}, "setup": {"outcome": "passed", "duration": 0.0014919140000131392}, "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.0002151500000024953}}, {"call": {"outcome": "passed", "duration": 0.01729711100000486}, "setup": {"outcome": "passed", "duration": 0.0003632849999917198}, "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.0001914859999772034}}, {"call": {"outcome": "passed", "duration": 0.0040798759999916}, "setup": {"outcome": "passed", "duration": 0.00036740300001270043}, "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.00019928099999333426}}, {"call": {"outcome": "passed", "duration": 0.03630798000000368}, "setup": {"outcome": "passed", "duration": 0.0005965090000188411}, "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.0002740590000200882}}, {"call": {"outcome": "passed", "duration": 0.0022069530000123905}, "setup": {"outcome": "passed", "duration": 0.0004028390000030413}, "lineno": 128, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_rotate2zne_raise", "outcome": "passed", "keywords": ["test_rotate2zne_raise", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018697699999847828}}, {"call": {"outcome": "passed", "duration": 0.002034643000001779}, "setup": {"outcome": "passed", "duration": 0.0003287510000120619}, "lineno": 145, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_base_vector_calculation_simple_cases", "outcome": "passed", "keywords": ["test_base_vector_calculation_simple_cases", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00020019300001195006}}, {"call": {"outcome": "passed", "duration": 0.0004272740000033082}, "setup": {"outcome": "passed", "duration": 0.0003095049999899402}, "lineno": 200, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_base_vector_from_azimuth_and_dip_calculation", "outcome": "passed", "keywords": ["test_base_vector_from_azimuth_and_dip_calculation", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017247099998485282}}, {"call": {"outcome": "passed", "duration": 0.0005267200000105277}, "setup": {"outcome": "passed", "duration": 0.00029148200002282465}, "lineno": 219, "nodeid": "signal/tests/test_rotate.py::TestRotate::test_galperin_configuration", "outcome": "passed", "keywords": ["test_galperin_configuration", "filterwarnings", "TestRotate", "test_rotate.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001740740000002461}}, {"call": {"outcome": "passed", "duration": 0.0029766540000082387}, "setup": {"outcome": "passed", "duration": 0.00031442399998127257}, "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.0001863569999898118}}, {"call": {"outcome": "passed", "duration": 0.022325000999984468}, "setup": {"outcome": "passed", "duration": 0.000295117999996819}, "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.00018710800000576455}}, {"call": {"outcome": "passed", "duration": 0.032301450000005616}, "setup": {"outcome": "passed", "duration": 0.00030168000000685424}, "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.00019639500001744636}}, {"call": {"outcome": "passed", "duration": 1.2527813140000035}, "setup": {"outcome": "passed", "duration": 0.000318622999998297}, "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.00027227600000401253}}, {"call": {"outcome": "passed", "duration": 0.012800050000009833}, "setup": {"outcome": "passed", "duration": 0.00039843100000780396}, "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.000330012999995688}}, {"call": {"outcome": "passed", "duration": 0.06930922099999748}, "setup": {"outcome": "passed", "duration": 0.00046834099998704914}, "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.00022937599999295344}}, {"call": {"outcome": "passed", "duration": 0.05672966099999144}, "setup": {"outcome": "passed", "duration": 0.0003699179999898661}, "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.00024727000001689703}}, {"call": {"outcome": "passed", "duration": 0.06819232399999464}, "setup": {"outcome": "passed", "duration": 0.00035794499999042273}, "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.00025554499998747815}}, {"call": {"outcome": "passed", "duration": 0.06941551799999957}, "setup": {"outcome": "passed", "duration": 0.0003947639999921648}, "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.00025424300000054245}}, {"call": {"outcome": "passed", "duration": 0.0008677930000260403}, "setup": {"outcome": "passed", "duration": 0.0003933419999953003}, "lineno": 146, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_get_spoint", "outcome": "passed", "keywords": ["test_get_spoint", "filterwarnings", "TestSonic", "test_sonic.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001945819999775722}}, {"call": {"outcome": "passed", "duration": 0.0069215299999996205}, "setup": {"outcome": "passed", "duration": 0.00034134500000959633}, "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.0002005620000034014}}, {"call": {"outcome": "passed", "duration": 0.0010378899999921032}, "setup": {"outcome": "passed", "duration": 0.0003388399999835201}, "lineno": 197, "nodeid": "signal/tests/test_sonic.py::TestSonic::test_array_transff_wavenumber", "outcome": "passed", "keywords": ["test_array_transff_wavenumber", "filterwarnings", "TestSonic", "test_sonic.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018799899999066838}}, {"call": {"outcome": "passed", "duration": 0.0015613129999962894}, "setup": {"outcome": "passed", "duration": 0.0018582760000072085}, "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.00018841000002112196}}, {"call": {"outcome": "passed", "duration": 0.0007806119999997918}, "setup": {"outcome": "passed", "duration": 0.0003530870000076902}, "lineno": 136, "nodeid": "signal/tests/test_spectral_estimation.py::TestPsd::test_welch_window_vs_pitsa", "outcome": "passed", "keywords": ["test_welch_window_vs_pitsa", "filterwarnings", "TestPsd", "usefixtures", "test_spectral_estimation.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00017685900002106791}}, {"call": {"outcome": "passed", "duration": 0.018449102999994693}, "setup": {"outcome": "passed", "duration": 0.9811905180000053}, "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.00024384299999269388}}, {"call": {"outcome": "passed", "duration": 0.0035936010000057195}, "setup": {"outcome": "passed", "duration": 0.14571537800000556}, "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.00027438999998707914}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009909620000030372, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 254, in test_ppsd_w_iris\n    st = read(file_data_anmo)\n         ^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004312920000018039}, "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.0002017150000028778}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0008441989999994348, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 319, in test_ppsd_w_iris_against_obspy_results\n    st = read(testdata['IUANMO.seed'])\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003461229999857096}, "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.00017139799999199568}}, {"call": {"outcome": "passed", "duration": 0.015371190999985629}, "setup": {"outcome": "passed", "duration": 0.14611633300000904}, "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.0002547240000012607}}, {"call": {"outcome": "passed", "duration": 2.097186778000008}, "setup": {"outcome": "passed", "duration": 0.0005388509999875168}, "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.0003144940000083807}}, {"call": {"outcome": "passed", "duration": 1.0325497649999988}, "setup": {"outcome": "passed", "duration": 0.13962824999998702}, "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.00027357900000879454}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009932969999795205, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 509, in test_ppsd_infrasound\n    st = read(wf)\n         ^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004434649999893736}, "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.00020139399998697627}}, {"call": {"outcome": "passed", "duration": 0.10472966099999326}, "setup": {"outcome": "passed", "duration": 0.000348508000001857}, "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.00023281200000724311}}, {"call": {"outcome": "passed", "duration": 0.0008193930000004457}, "setup": {"outcome": "passed", "duration": 0.0003824809999741774}, "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.0001722499999914362}}, {"call": {"outcome": "passed", "duration": 0.19468897699999843}, "setup": {"outcome": "passed", "duration": 0.0011441979999915475}, "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.0002493739999920308}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0009386350000113453, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 691, in test_wrong_trace_id_message\n    inv = read_inventory(testdata['IUANMO.xml'])\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0013277689999995346}, "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.00020814699999505137}}, {"call": {"outcome": "passed", "duration": 0.00048331799999346003}, "setup": {"outcome": "passed", "duration": 0.13404849500000182}, "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.00022456800002146338}}, {"call": {"outcome": "passed", "duration": 0.14656800300002715}, "setup": {"outcome": "passed", "duration": 0.0005250660000228891}, "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.0003725919999908456}}, {"call": {"outcome": "passed", "duration": 0.08107798399998956}, "setup": {"outcome": "passed", "duration": 0.00039361099999268845}, "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.00022663100000386294}}, {"call": {"outcome": "passed", "duration": 0.6503814409999791}, "setup": {"outcome": "passed", "duration": 0.0005820720000144775}, "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.00028381799998555834}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0025107879999950455, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_spectral_estimation.py\", line 790, in test_ppsd_uneven_sampling_rate\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0003816800000038256}, "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.00020975000001044464}}, {"call": {"outcome": "passed", "duration": 0.028937825000014072}, "setup": {"outcome": "passed", "duration": 0.0003740759999857346}, "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.00021995800000240706}}, {"call": {"outcome": "passed", "duration": 0.005695318999983101}, "setup": {"outcome": "passed", "duration": 0.00037800299998025366}, "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.00018091600000502694}}, {"call": {"outcome": "passed", "duration": 0.035029231000009986}, "setup": {"outcome": "passed", "duration": 0.1327956509999808}, "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.0002624480000008589}}, {"call": {"outcome": "passed", "duration": 0.015923097000012376}, "setup": {"outcome": "passed", "duration": 0.13023669300000051}, "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.0002427219999958652}}, {"call": {"outcome": "passed", "duration": 0.008035220000010668}, "setup": {"outcome": "passed", "duration": 0.001208558000001858}, "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.00043254400000591886}}, {"call": {"outcome": "passed", "duration": 0.1341357419999838}, "setup": {"outcome": "passed", "duration": 0.0004082499999924494}, "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.0002846889999830182}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024633100000244212, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_stream.py\", line 137, in test_simulate\n    st1 = read()\n          ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004068770000174027}, "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.00020993100000055165}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0021658969999975852, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_stream.py\", line 176, in test_decimate\n    st = read()\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00035822600000301463}, "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.00020102400000610032}}, {"call": {"outcome": "passed", "duration": 0.007494425000004412}, "setup": {"outcome": "passed", "duration": 0.0022910699999840745}, "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.00020236599999634564}}, {"call": {"outcome": "passed", "duration": 0.007267252000019653}, "setup": {"outcome": "passed", "duration": 0.0003999930000020413}, "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.0002075559999923371}}, {"call": {"outcome": "passed", "duration": 0.004910279999990053}, "setup": {"outcome": "passed", "duration": 0.00032348100000945124}, "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.00022479800000496653}}, {"call": {"outcome": "passed", "duration": 0.4352089170000113}, "setup": {"outcome": "passed", "duration": 0.0011362829999939095}, "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.00041178600000080223}}, {"call": {"outcome": "passed", "duration": 1.366911640000012}, "setup": {"outcome": "passed", "duration": 0.0006699860000196622}, "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.00033326999999871987}}, {"call": {"outcome": "passed", "duration": 1.05695043999998}, "setup": {"outcome": "passed", "duration": 0.000554932000000008}, "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.0005260290000137502}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0024217719999910514, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trace.py\", line 22, in test_simulate\n    tr = read()[0]\n         ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 208, in read\n    st = _create_example_stream(headonly=headonly)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 301, in _create_example_stream\n    inv = read_inventory(data_dir / \"BW_RJOB.xml\")\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 91, in read_inventory\n    return _generic_reader(path_or_file_object, _read, format=format,\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/inventory/inventory.py\", line 100, in _read\n    inventory, format = _read_from_plugin('inventory', filename, format=format,\n                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00044777200000112316}, "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.00018890200001919766}}, {"call": {"outcome": "passed", "duration": 0.07283354099999428}, "setup": {"outcome": "passed", "duration": 0.00029659099999435057}, "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.0002930450000064866}}, {"call": {"outcome": "passed", "duration": 0.011380950999978268}, "setup": {"outcome": "passed", "duration": 0.00043165300002101503}, "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.0002782680000166238}}, {"call": {"outcome": "passed", "duration": 0.0006545469999821307}, "setup": {"outcome": "passed", "duration": 0.0027747290000093017}, "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.00022674099997743724}}, {"call": {"outcome": "passed", "duration": 0.07270099599998048}, "setup": {"outcome": "passed", "duration": 0.000372421999998096}, "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.00025585600002386855}}, {"call": {"outcome": "passed", "duration": 0.00037014800000179093}, "setup": {"outcome": "passed", "duration": 0.00044091999998840947}, "lineno": 71, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_rec_sta_lta_raise", "outcome": "passed", "keywords": ["test_rec_sta_lta_raise", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019411100001320847}}, {"call": {"outcome": "passed", "duration": 0.11495309600002201}, "setup": {"outcome": "passed", "duration": 0.001594394999983706}, "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.0002610849999769016}}, {"call": {"outcome": "passed", "duration": 0.11245500100000072}, "setup": {"outcome": "passed", "duration": 0.0004712859999926877}, "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.0002739489999896705}}, {"call": {"outcome": "passed", "duration": 0.0004336160000093514}, "setup": {"outcome": "passed", "duration": 0.0004498670000145921}, "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.00022277400000803027}}, {"call": {"outcome": "passed", "duration": 0.000344962000013993}, "setup": {"outcome": "passed", "duration": 0.00033416200000147}, "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.00017479400000297574}}, {"call": {"outcome": "passed", "duration": 0.0038499480000098174}, "setup": {"outcome": "passed", "duration": 0.0003193639999778952}, "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.00017985499999895183}}, {"call": {"outcome": "passed", "duration": 0.040902791999997135}, "setup": {"outcome": "passed", "duration": 0.00035918800000445117}, "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.0002581699999950615}}, {"call": {"outcome": "passed", "duration": 0.040169909000013604}, "setup": {"outcome": "passed", "duration": 0.0005339730000173404}, "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.0002714649999973062}}, {"call": {"outcome": "passed", "duration": 0.004907063999979755}, "setup": {"outcome": "passed", "duration": 0.0005356559999825095}, "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.0002654129999939414}}, {"call": {"outcome": "passed", "duration": 0.0007551340000020446}, "setup": {"outcome": "passed", "duration": 0.00044886399999199966}, "lineno": 188, "nodeid": "signal/tests/test_trigger.py::TestTrigger::test_trigger_onset", "outcome": "passed", "keywords": ["test_trigger_onset", "filterwarnings", "TestTrigger", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0002074159999949643}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.0015862090000098306, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trigger.py\", line 235, in test_trigger_onset_issue_2891\n    tr = read(testdata['BW.UH1._.EHZ.D.2010.147.a.slist.gz'])[0]\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.0004680499999949461}, "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.00021983900001032453}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.002105685000003632, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trigger.py\", line 249, in test_coincidence_trigger\n    st += read(testdata[filename])\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045768199998974524}, "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.00022097999999459716}}, {"call": {"crash": {"path": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py", "lineno": 461, "message": "AttributeError: 'NoneType' object has no attribute 'upper'"}, "outcome": "failed", "duration": 0.001791179999997894, "longrepr": "Traceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 353, in from_call\n    result: TResult | None = func()\n                             ^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 245, in <lambda>\n    lambda: runtest_hook(item=item, **kwds),\n            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/logging.py\", line 850, in pytest_runtest_call\n    yield\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/capture.py\", line 900, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 53, in run_old_style_hookwrapper\n    return result.get_result()\n           ^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_result.py\", line 103, in get_result\n    raise exc.with_traceback(tb)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 38, in run_old_style_hookwrapper\n    res = yield\n          ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 139, in _multicall\n    teardown.throw(exception)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/skipping.py\", line 268, in pytest_runtest_call\n    return (yield)\n            ^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/runner.py\", line 179, in pytest_runtest_call\n    item.runtest()\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 1720, in runtest\n    self.ihook.pytest_pyfunc_call(pyfuncitem=self)\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_hooks.py\", line 512, in __call__\n    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_manager.py\", line 120, in _hookexec\n    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 167, in _multicall\n    raise exception\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/pluggy/_callers.py\", line 121, in _multicall\n    res = hook_impl.function(*args)\n          ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/_pytest/python.py\", line 166, in pytest_pyfunc_call\n    result = testfunction(**testargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tests/test_trigger.py\", line 474, in test_coincidence_trigger_with_similarity_checking\n    st += read(testdata[filename])\n          ^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 764, in _generic_reader\n    generic = callback_func(pathnames[0], **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 201, in uncompress_file\n    stream = func(tempfile.name, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'"}, "setup": {"outcome": "passed", "duration": 0.00045679900000550333}, "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.0002402670000094531}}, {"call": {"outcome": "passed", "duration": 0.001972929000004342}, "setup": {"outcome": "passed", "duration": 0.00042750500000465763}, "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.00021117299999673378}}, {"call": {"outcome": "passed", "duration": 0.0004112039999881745}, "setup": {"outcome": "passed", "duration": 0.0004805939999812381}, "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.0001880690000177765}}, {"call": {"outcome": "passed", "duration": 0.00032781999999542677}, "setup": {"outcome": "passed", "duration": 0.0004510490000200207}, "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.0002108619999887651}}, {"call": {"outcome": "passed", "duration": 0.00032334100001207844}, "setup": {"outcome": "passed", "duration": 0.00042479999999045504}, "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.00018537399998308501}}, {"call": {"outcome": "passed", "duration": 0.0003330689999927472}, "setup": {"outcome": "passed", "duration": 0.00042530100000703897}, "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.00018261899998606168}}, {"call": {"outcome": "passed", "duration": 0.00036244400001805843}, "setup": {"outcome": "passed", "duration": 0.00035372799999322524}, "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.00017824099998620113}}, {"call": {"outcome": "passed", "duration": 0.0003580350000049748}, "setup": {"outcome": "passed", "duration": 0.0004237379999949553}, "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[1]", "outcome": "passed", "keywords": ["test_all_ones[1]", "parametrize", "pytestmark", "1", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018442300000742762}}, {"call": {"outcome": "passed", "duration": 0.0003251549999845338}, "setup": {"outcome": "passed", "duration": 0.0004349189999857117}, "lineno": 599, "nodeid": "signal/tests/test_trigger.py::TestEnergyRatio::test_all_ones[2]", "outcome": "passed", "keywords": ["test_all_ones[2]", "parametrize", "pytestmark", "2", "filterwarnings", "TestEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018636700002616635}}, {"call": {"outcome": "passed", "duration": 0.0003352930000062315}, "setup": {"outcome": "passed", "duration": 0.00040813900000102876}, "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.00018549600000028477}}, {"call": {"outcome": "passed", "duration": 0.0003461430000015753}, "setup": {"outcome": "passed", "duration": 0.0004220849999967413}, "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.00019634500000620392}}, {"call": {"outcome": "passed", "duration": 0.0003299830000003112}, "setup": {"outcome": "passed", "duration": 0.0004443359999868335}, "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.00020620300000473435}}, {"call": {"outcome": "passed", "duration": 0.0032903780000026472}, "setup": {"outcome": "passed", "duration": 0.00042023200001040095}, "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.00018669700000373268}}, {"call": {"outcome": "passed", "duration": 0.003266343000007055}, "setup": {"outcome": "passed", "duration": 0.00042424899999105037}, "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.00018758900000648282}}, {"call": {"outcome": "passed", "duration": 0.003249172000010958}, "setup": {"outcome": "passed", "duration": 0.0004445769999961158}, "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.0001883200000065699}}, {"call": {"outcome": "passed", "duration": 0.002232921999990367}, "setup": {"outcome": "passed", "duration": 0.0004241489999969872}, "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.0001897329999849262}}, {"call": {"outcome": "passed", "duration": 0.0022197469999980513}, "setup": {"outcome": "passed", "duration": 0.0004451869999968494}, "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.00020380799998065413}}, {"call": {"outcome": "passed", "duration": 0.002285099000005175}, "setup": {"outcome": "passed", "duration": 0.00042068199999789613}, "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.00018961300000341907}}, {"call": {"outcome": "passed", "duration": 0.00042554200001632125}, "setup": {"outcome": "passed", "duration": 0.0004523510000069564}, "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.0001946820000000571}}, {"call": {"outcome": "passed", "duration": 0.00033544400000096175}, "setup": {"outcome": "passed", "duration": 0.0004515099999764516}, "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.00022344499998894207}}, {"call": {"outcome": "passed", "duration": 0.0003551209999841376}, "setup": {"outcome": "passed", "duration": 0.0004209830000263537}, "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.00018461400000546746}}, {"call": {"outcome": "passed", "duration": 0.00036738299999683477}, "setup": {"outcome": "passed", "duration": 0.00041900899998381647}, "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.00019144600000231549}}, {"call": {"outcome": "passed", "duration": 0.00038101900000242495}, "setup": {"outcome": "passed", "duration": 0.00038418500000148015}, "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.00019319899999459267}}, {"call": {"outcome": "passed", "duration": 0.0003629349999982878}, "setup": {"outcome": "passed", "duration": 0.00041902899999968213}, "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[1]", "outcome": "passed", "keywords": ["test_all_ones[1]", "parametrize", "pytestmark", "1", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001855749999890577}}, {"call": {"outcome": "passed", "duration": 0.00033664599999383427}, "setup": {"outcome": "passed", "duration": 0.0004336160000093514}, "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.00019347999997876286}}, {"call": {"outcome": "passed", "duration": 0.00033527399997979046}, "setup": {"outcome": "passed", "duration": 0.00045381399999655514}, "lineno": 645, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_all_ones[3]", "outcome": "passed", "keywords": ["test_all_ones[3]", "parametrize", "pytestmark", "3", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001834009999868158}}, {"call": {"outcome": "passed", "duration": 0.0003497300000105952}, "setup": {"outcome": "passed", "duration": 0.00042360699998766904}, "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.00018723799999520452}}, {"call": {"outcome": "passed", "duration": 0.00033463299999425544}, "setup": {"outcome": "passed", "duration": 0.00044516799999883006}, "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.00018897100000003775}}, {"call": {"outcome": "passed", "duration": 0.0002736689999949249}, "setup": {"outcome": "passed", "duration": 0.0004375929999866912}, "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.00024995500001523396}}, {"call": {"outcome": "passed", "duration": 0.0002579899999943791}, "setup": {"outcome": "passed", "duration": 0.0005590199999971901}, "lineno": 655, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_too_large[10]", "outcome": "passed", "keywords": ["test_nsta_too_large[10]", "parametrize", "pytestmark", "10", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018295000000989603}}, {"call": {"outcome": "passed", "duration": 0.00024249099999451573}, "setup": {"outcome": "passed", "duration": 0.00043869500001392225}, "lineno": 655, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_too_large[20]", "outcome": "passed", "keywords": ["test_nsta_too_large[20]", "parametrize", "pytestmark", "20", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00019817800000510033}}, {"call": {"outcome": "passed", "duration": 0.00024720000001821063}, "setup": {"outcome": "passed", "duration": 0.0004104630000085763}, "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.00018113599998059726}}, {"call": {"outcome": "passed", "duration": 0.00023881399999936548}, "setup": {"outcome": "passed", "duration": 0.0004109739999762496}, "lineno": 663, "nodeid": "signal/tests/test_trigger.py::TestModifiedEnergyRatio::test_nsta_zero_or_less[-1]", "outcome": "passed", "keywords": ["test_nsta_zero_or_less[-1]", "parametrize", "pytestmark", "-1", "filterwarnings", "TestModifiedEnergyRatio", "test_trigger.py", "tests", "signal", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001985190000084458}}, {"call": {"outcome": "passed", "duration": 0.0002435730000058811}, "setup": {"outcome": "passed", "duration": 0.0004096019999906275}, "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.0002456470000140598}}, {"call": {"outcome": "passed", "duration": 0.003462998000003381}, "setup": {"outcome": "passed", "duration": 0.0003977500000189593}, "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.00016682000000400876}}, {"call": {"outcome": "passed", "duration": 0.00337730999999053}, "setup": {"outcome": "passed", "duration": 0.00032450300000164134}, "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.00017102800001111973}}, {"call": {"outcome": "failed", "duration": 0.7362037960000123, "longrepr": "1429         make demeaning/tapering necessary to avoid artifacts)\n1430 \n1431     :return: If show is False, returns a matplotlib.pyplot.figure object\n1432         (single component data) or a list of figure objects (multi component\n1433         data)\n1434 \n1435     .. rubric:: Example\n1436 \n1437     >>> from obspy import read\n1438     >>> tr = read(\"https://examples.obspy.org/a02i.2008.240.mseed\")[0]\nUNEXPECTED EXCEPTION: AttributeError(\"'NoneType' object has no attribute 'upper'\")\nTraceback (most recent call last):\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/doctest.py\", line 1368, in __run\n    exec(compile(example.source, filename, \"single\",\n  File \"<doctest obspy.signal.tf_misfit.plot_tfr[1]>\", line 1, in <module>\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 298, in _map_example_filename\n    return func(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 210, in read\n    st = _generic_reader(pathname_or_url, _read, **kwargs)\n         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 751, in _generic_reader\n    generic = callback_func(fh.name, **kwargs)\n              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/decorator.py\", line 235, in fun\n    return caller(func, *(extras + args), **kw)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/decorator.py\", line 209, in uncompress_file\n    result = func(filename, *args, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/stream.py\", line 255, in _read\n    stream, format = _read_from_plugin('waveform', filename, format=format,\n                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/core/util/base.py\", line 461, in _read_from_plugin\n    if format.upper() == 'SC3ML':\n       ^^^^^^^^^^^^\nAttributeError: 'NoneType' object has no attribute 'upper'\n/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/signal/tf_misfit.py:1438: UnexpectedException"}, "setup": {"outcome": "passed", "duration": 0.00033955099999616323}, "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.0002229650000060701}}, {"call": {"outcome": "passed", "duration": 0.010344462999995585}, "setup": {"outcome": "passed", "duration": 0.0004721279999841954}, "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.0002252090000069984}}, {"call": {"outcome": "passed", "duration": 0.0029209509999930106}, "setup": {"outcome": "passed", "duration": 0.0003558619999921575}, "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.00021699399999874913}}, {"call": {"outcome": "passed", "duration": 0.002665966999984448}, "setup": {"outcome": "passed", "duration": 0.00035706400001345173}, "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.00017078799999126204}}, {"call": {"outcome": "passed", "duration": 0.0026584329999934653}, "setup": {"outcome": "passed", "duration": 0.0003110289999881388}, "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.00017146900000852838}}, {"call": {"outcome": "passed", "duration": 0.002611534999999776}, "setup": {"outcome": "passed", "duration": 0.00030860399999710353}, "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.00019543400000543443}}, {"call": {"outcome": "passed", "duration": 4.516716443000007}, "setup": {"outcome": "passed", "duration": 0.0007504560000199945}, "lineno": 1, "nodeid": "taup/__init__.py::obspy.taup", "outcome": "passed", "keywords": ["obspy.taup", "filterwarnings", "__init__.py", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00023550800000293748}}, {"call": {"outcome": "passed", "duration": 1.084159083000003}, "setup": {"outcome": "passed", "duration": 0.0005574470000055953}, "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.00024225000001365515}}, {"call": {"outcome": "passed", "duration": 0.6622442750000062}, "setup": {"outcome": "passed", "duration": 0.00040742699999896104}, "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.00022924600000351347}}, {"call": {"outcome": "passed", "duration": 0.05509036300000503}, "setup": {"outcome": "passed", "duration": 0.0015805490000104783}, "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.00020863800000370247}}, {"call": {"outcome": "passed", "duration": 0.0006118569999955525}, "setup": {"outcome": "passed", "duration": 0.0009040910000237545}, "lineno": 12, "nodeid": "taup/tests/test_misc.py::TestTauPyMisc::test_leg_puller", "outcome": "passed", "keywords": ["test_leg_puller", "filterwarnings", "TestTauPyMisc", "test_misc.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016578899999331043}}, {"call": {"outcome": "passed", "duration": 1.259406489999975}, "setup": {"outcome": "passed", "duration": 0.00041731599998229285}, "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.0002560469999934867}}, {"call": {"outcome": "passed", "duration": 0.06606069999997999}, "setup": {"outcome": "passed", "duration": 0.00037665000002107263}, "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.00023726099999521466}}, {"call": {"outcome": "passed", "duration": 4.72562448900004}, "setup": {"outcome": "passed", "duration": 0.02625851400000556}, "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.0002498650000006819}}, {"call": {"outcome": "passed", "duration": 0.45595983700002307}, "setup": {"outcome": "passed", "duration": 0.0003999539999881563}, "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.00022765400001389935}}, {"call": {"outcome": "passed", "duration": 1.8489379159999544}, "setup": {"outcome": "passed", "duration": 0.0008562329999790563}, "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.00022604999998065978}}, {"call": {"outcome": "passed", "duration": 0.06726008200001843}, "setup": {"outcome": "passed", "duration": 0.00038678900000377325}, "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.00022744200003899095}}, {"call": {"outcome": "passed", "duration": 0.004773374999956559}, "setup": {"outcome": "passed", "duration": 0.0004216840000026423}, "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.00028760399999328}}, {"call": {"outcome": "passed", "duration": 0.0003067609999902743}, "setup": {"outcome": "passed", "duration": 0.0004833090000033735}, "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.0001632139999969695}}, {"call": {"outcome": "passed", "duration": 0.0004687520000175027}, "setup": {"outcome": "passed", "duration": 0.00028961800001070515}, "lineno": 30, "nodeid": "taup/tests/test_slowness_model.py::TestBullenDepth::test_overflow", "outcome": "passed", "keywords": ["test_overflow", "filterwarnings", "TestBullenDepth", "test_slowness_model.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016624900001716014}}, {"call": {"outcome": "passed", "duration": 0.08192346699996733}, "setup": {"outcome": "passed", "duration": 0.00040742800001680735}, "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.0002710640000032072}}, {"call": {"outcome": "passed", "duration": 0.026901601000020037}, "setup": {"outcome": "passed", "duration": 0.0005365480000136813}, "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.0002176149999968402}}, {"call": {"outcome": "passed", "duration": 0.026994944000023224}, "setup": {"outcome": "passed", "duration": 0.00037898499999755586}, "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.00022996800004193574}}, {"call": {"outcome": "passed", "duration": 0.027358481000021584}, "setup": {"outcome": "passed", "duration": 0.0003617530000497027}, "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.0002284750000285385}}, {"call": {"outcome": "passed", "duration": 0.08549313599996822}, "setup": {"outcome": "passed", "duration": 0.0009459689999857801}, "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.0002512270000352146}}, {"call": {"outcome": "passed", "duration": 0.11602189899997484}, "setup": {"outcome": "passed", "duration": 0.00048367900001267117}, "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.0002720859999953973}}, {"call": {"outcome": "passed", "duration": 0.08058987800001205}, "setup": {"outcome": "passed", "duration": 0.0004931569999939711}, "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.00025871199994753624}}, {"call": {"outcome": "passed", "duration": 0.08025521600001184}, "setup": {"outcome": "passed", "duration": 0.0004966540000168607}, "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.00027186500000198066}}, {"call": {"outcome": "passed", "duration": 0.07705370300004688}, "setup": {"outcome": "passed", "duration": 0.0005120620000411691}, "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.0002615669999954662}}, {"call": {"outcome": "passed", "duration": 0.9560289099999864}, "setup": {"outcome": "passed", "duration": 0.0004971639999666877}, "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.0003123200000345605}}, {"call": {"outcome": "passed", "duration": 0.9657232760000056}, "setup": {"outcome": "passed", "duration": 0.0004904420000002574}, "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.00026951099999905637}}, {"call": {"outcome": "passed", "duration": 0.034951659000000745}, "setup": {"outcome": "passed", "duration": 0.0004052240000191887}, "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.0002444750000449858}}, {"call": {"outcome": "passed", "duration": 0.03576791599999751}, "setup": {"outcome": "passed", "duration": 0.00039107700001750345}, "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.0002212009999880138}}, {"call": {"outcome": "passed", "duration": 0.034605165000016314}, "setup": {"outcome": "passed", "duration": 0.0003987919999985934}, "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.00022026999999980035}}, {"call": {"outcome": "passed", "duration": 2.6918557340000007}, "setup": {"outcome": "passed", "duration": 0.00039013499997508916}, "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.0002349470000240217}}, {"call": {"outcome": "passed", "duration": 0.5376906440000084}, "setup": {"outcome": "passed", "duration": 0.00038921300000538395}, "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.00025309099999049067}}, {"call": {"outcome": "passed", "duration": 0.0940888669999822}, "setup": {"outcome": "passed", "duration": 0.00038768099994967997}, "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.00023303299997223803}}, {"call": {"outcome": "passed", "duration": 0.055210393000038493}, "setup": {"outcome": "passed", "duration": 0.00039189899996472377}, "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.0002292560000114463}}, {"call": {"outcome": "passed", "duration": 0.0649207110000134}, "setup": {"outcome": "passed", "duration": 0.000393381000037607}, "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.00024317200001178207}}, {"call": {"outcome": "passed", "duration": 0.05460541799999419}, "setup": {"outcome": "passed", "duration": 0.0003821310000375888}, "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.0002700119999872186}}, {"call": {"outcome": "passed", "duration": 0.05357725699997218}, "setup": {"outcome": "passed", "duration": 0.0003840339999783282}, "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.00020983000001706387}}, {"call": {"outcome": "passed", "duration": 1.1850364110000555}, "setup": {"outcome": "passed", "duration": 0.0003823719999900277}, "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.0002298869999890485}}, {"call": {"outcome": "passed", "duration": 1.1300567559999877}, "setup": {"outcome": "passed", "duration": 0.00038321199997426447}, "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.0002310490000354548}}, {"call": {"outcome": "passed", "duration": 0.8530110810000338}, "setup": {"outcome": "passed", "duration": 0.000407316999996965}, "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.00022765400001389935}}, {"call": {"outcome": "passed", "duration": 0.6423571509999988}, "setup": {"outcome": "passed", "duration": 0.0003899350000438062}, "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.00023402599998689766}}, {"call": {"outcome": "passed", "duration": 1.0216608549999933}, "setup": {"outcome": "passed", "duration": 0.00038541700001815116}, "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.0002623480000352174}}, {"call": {"outcome": "passed", "duration": 1.2272243630000048}, "setup": {"outcome": "passed", "duration": 0.0004411499999719126}, "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.00023657999997794832}}, {"call": {"outcome": "passed", "duration": 0.5113978179999776}, "setup": {"outcome": "passed", "duration": 0.0003946040000073481}, "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.00047149700003501493}}, {"call": {"outcome": "passed", "duration": 0.6146073660000297}, "setup": {"outcome": "passed", "duration": 0.0004301099999679536}, "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.00023438599998826248}}, {"call": {"outcome": "passed", "duration": 0.2039893340000276}, "setup": {"outcome": "passed", "duration": 0.0004127170000174374}, "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.00024826100002428575}}, {"call": {"outcome": "passed", "duration": 0.7870955289999984}, "setup": {"outcome": "passed", "duration": 0.00038957499998559797}, "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.00021998900001563015}}, {"call": {"outcome": "passed", "duration": 0.07687367800002676}, "setup": {"outcome": "passed", "duration": 0.00041316899995536005}, "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.0002450759999987895}}, {"call": {"outcome": "passed", "duration": 0.057826263999970706}, "setup": {"outcome": "passed", "duration": 0.00041326899997784494}, "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.00023967499998889252}}, {"call": {"outcome": "passed", "duration": 0.35691422299998976}, "setup": {"outcome": "passed", "duration": 0.0003696770000374272}, "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.00025033499997562103}}, {"call": {"outcome": "passed", "duration": 0.031816241000001355}, "setup": {"outcome": "passed", "duration": 0.0003684050000174466}, "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.00022453799999766488}}, {"call": {"outcome": "passed", "duration": 0.03234971299997369}, "setup": {"outcome": "passed", "duration": 0.00039114800000561445}, "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.00024100799998905131}}, {"call": {"outcome": "passed", "duration": 4.7691117410000174}, "setup": {"outcome": "passed", "duration": 0.000884404999965227}, "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.00022905600002331994}}, {"call": {"outcome": "passed", "duration": 1.0322600500000476}, "setup": {"outcome": "passed", "duration": 0.0004098719999774403}, "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.0002238370000213763}}, {"call": {"outcome": "passed", "duration": 1.1825912670000207}, "setup": {"outcome": "passed", "duration": 0.00042536099999779253}, "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.0003516439999771137}}, {"call": {"outcome": "passed", "duration": 0.9987732920000099}, "setup": {"outcome": "passed", "duration": 0.011950904999991963}, "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.000249053000004551}}, {"call": {"outcome": "passed", "duration": 0.04279668099997025}, "setup": {"outcome": "passed", "duration": 0.0004054839999980686}, "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.0002794800000174291}}, {"call": {"outcome": "passed", "duration": 0.00041059299996959453}, "setup": {"outcome": "passed", "duration": 0.0003752079999799207}, "lineno": 146, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_1", "outcome": "passed", "keywords": ["test_taup_geo_calc_dist_1", "filterwarnings", "TestTaupGeoDist", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.0001708479999820156}}, {"call": {"outcome": "passed", "duration": 0.00035113299998101866}, "setup": {"outcome": "passed", "duration": 0.0003097159999470023}, "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.0001824490000217338}}, {"call": {"outcome": "passed", "duration": 0.0003694570000334352}, "setup": {"outcome": "passed", "duration": 0.0002831059999834906}, "lineno": 166, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_3", "outcome": "passed", "keywords": ["test_taup_geo_calc_dist_3", "filterwarnings", "TestTaupGeoDist", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00016498600001568775}}, {"call": {"outcome": "passed", "duration": 0.00034142499998779385}, "setup": {"outcome": "passed", "duration": 0.0002977640000381143}, "lineno": 176, "nodeid": "taup/tests/test_taup_geo.py::TestTaupGeoDist::test_taup_geo_calc_dist_4", "outcome": "passed", "keywords": ["test_taup_geo_calc_dist_4", "filterwarnings", "TestTaupGeoDist", "test_taup_geo.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 0.00018000499994741403}}, {"call": {"outcome": "passed", "duration": 0.0009956609999903776}, "setup": {"outcome": "passed", "duration": 0.0002755319999891981}, "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.00017424399999299567}}, {"call": {"outcome": "passed", "duration": 1.4468551299999604}, "setup": {"outcome": "passed", "duration": 0.012220988000024136}, "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.0004910629999699268}}, {"call": {"outcome": "passed", "duration": 1.220065508999994}, "setup": {"outcome": "passed", "duration": 0.0005550019999986944}, "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.0003004989999908503}}, {"call": {"outcome": "passed", "duration": 1.2472278350000465}, "setup": {"outcome": "passed", "duration": 0.0005147169999872858}, "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.00032084599996551333}}, {"call": {"outcome": "passed", "duration": 0.3495273720000114}, "setup": {"outcome": "passed", "duration": 0.0005424189999985174}, "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.0002972330000261536}}, {"call": {"outcome": "passed", "duration": 0.22260107100004234}, "setup": {"outcome": "passed", "duration": 0.0005492409999874326}, "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.0002953700000034587}}, {"call": {"outcome": "passed", "duration": 0.9083315720000087}, "setup": {"outcome": "passed", "duration": 0.000519225000005008}, "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.0003179509999995389}}, {"call": {"outcome": "passed", "duration": 0.7906062819999988}, "setup": {"outcome": "passed", "duration": 0.0005491709999887462}, "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.0004209929999774431}}, {"call": {"outcome": "passed", "duration": 0.8687214820000122}, "setup": {"outcome": "passed", "duration": 0.0006946519999928569}, "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.00032799999996768747}}, {"call": {"outcome": "passed", "duration": 0.8740392920000204}, "setup": {"outcome": "passed", "duration": 0.0005836860000272281}, "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.00031455599997798345}}, {"call": {"outcome": "passed", "duration": 0.5166882139999984}, "setup": {"outcome": "passed", "duration": 0.0005571460000055595}, "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.00030773200001021905}}, {"call": {"outcome": "passed", "duration": 0.5511208230000193}, "setup": {"outcome": "passed", "duration": 0.0005440719999683097}, "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.00031178000000409156}}, {"call": {"outcome": "passed", "duration": 0.3282316400000127}, "setup": {"outcome": "passed", "duration": 0.0005439419999788697}, "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.00030428499997015024}}, {"call": {"outcome": "passed", "duration": 0.33326833800003897}, "setup": {"outcome": "passed", "duration": 0.0005223910000040632}, "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.00032351200002267433}}, {"call": {"outcome": "passed", "duration": 0.08981131300004108}, "setup": {"outcome": "passed", "duration": 0.00037395499998638115}, "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.0002389339999808726}}, {"call": {"outcome": "passed", "duration": 0.0492630499999791}, "setup": {"outcome": "passed", "duration": 0.0003931709999847044}, "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.00028568200002609956}}, {"call": {"outcome": "passed", "duration": 0.039732254000000466}, "setup": {"outcome": "passed", "duration": 0.0009748329999865746}, "lineno": 8, "nodeid": "taup/tests/test_velocity_model.py::TestTauPyVelocityModel::test_read_velocity_model", "outcome": "passed", "keywords": ["test_read_velocity_model", "filterwarnings", "TestTauPyVelocityModel", "test_velocity_model.py", "tests", "taup", "obspy", ""], "teardown": {"outcome": "passed", "duration": 1.2196828049999908}}], "ci_info": {"ci_url": "https://github.com/obspy/obspy/actions/runs/22670498712", "pr_url": "https://github.com/obspy/obspy/pull/3651", "runner_os": "Linux", "github_job": "run_tests", "github_sha": "509ef587ae1085f9e280ef2a47f6850f6b705b2f", "runner_arch": "X64", "github_actor": "megies", "issue_number": "3651", "github_action": "tests", "github_workflow": "tests", "github_event_name": "pull_request"}, "created": 1772629705.2905283, "summary": {"error": 13, "total": 2327, "failed": 610, "passed": 1684, "skipped": 20, "collected": 2443, "deselected": 116}, "duration": 170.44191646575928, "exitcode": 1, "warnings": [{"when": "runtest", "lineno": 395, "message": "Attempting to set identical low and high ylims makes transformation singular; automatically expanding.", "category": "UserWarning", "filename": "/home/runner/miniconda3/envs/test/lib/python3.12/site-packages/obspy/imaging/scripts/scan.py"}, {"when": "collect", "lineno": 15, "message": "`scipy.odr` is deprecated as of version 1.17.0 and will be removed in SciPy 1.19.0. Please use `https://pypi.org/project/odrpack/` instead.", "category": "DeprecationWarning", "filename": "/home/runner/miniconda3/envs/test/lib/python3.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": "Linux", "machine": "x86_64", "release": "6.14.0-1017-azure", "version": "#17~24.04.1-Ubuntu SMP Mon Dec  1 20:10:50 UTC 2025", "processor": "x86_64", "architecture": "64bit", "python_version": "3.12.12", "python_compiler": "GCC 14.3.0", "python_implementation": "CPython"}, "runtest_flags": "--cov obspy --cov-report=xml:/home/runner/work/obspy/obspy/coverage.xml --cov-append --report --keep-images"}